注册 登录
编程论坛 汇编论坛

[求助]汇编两个小问题!

bennyhe 发布于 2006-11-12 16:05, 951 次点击
1. 编写一个简化的段定义结构程序:
先提示输入数字“Input number:0-9”,然后在下一行显示输入的数字,结束;如果不是键入了0-9 数字,就提示错误“ERROR!”,继续等待输入数字。
2. 编写一个完整的段定义结构程序:
从键盘输入一个字符串(不超过255个),将其中的小写字母转换成大写字母,然后按原来的顺序在屏幕上显示。


希望高手能帮忙,
谢谢!!
6 回复
#2
bennyhe2006-11-12 18:26
汇编版块怎么那么少人啊?
没人回答问题?
#3
wchx2152006-11-12 18:36
最好自己去写,别人替写不会进步的,还有你的问题已经有人问过了.
顺便说一下,问问题最好自己写出程序再问!
#4
bennyhe2006-11-12 18:46
不会写啊
有些指令还没教
比如如何进行输入输出
真的不会!
#5
wchx2152006-11-12 18:48
你可以查看中断功能!
dos功能中01h是输入并回显或者09h显示字符串.
最好自己想办法!
#6
bennyhe2006-11-12 19:04
以下是引用wchx215在2006-11-12 18:48:35的发言:
你可以查看中断功能!
dos功能中01h是输入并回显或者09h显示字符串.
最好自己想办法!

为了这两个程序
我整了一个下午
还是弄不出来
拜托!
帮我看看
谢谢

#7
wchx2152006-11-12 20:52

data segment
mess1 db 'Input number:0-9$'
errmess db 'error!$'
data ends
stack1 segment
dw 20h dup(0)
stack1 ends
code segment
assume cs:code,ss:stack1,ds:data
start: mov ax,stack1
mov ss,ax
mov sp,64
mov ax,data
mov ds,ax
lea dx,mess1
mov ah,09h
int 21h

mov ah,01h
int 21h
mov bl,al
call newline
cmp al,30h
jb errdeal
cmp al,39h
ja errdeal
mov dl,bl
mov ah,02h
int 21h
jmp short ok
errdeal: lea dx,errmess
mov ah,09h
int 21h
ok: mov ax,4c00h
int 21h
newline proc
push dx
push ax
mov dl,0dh
mov ah,02h
int 21h
mov dl,0ah
mov ah,02h
int 21h
pop ax
pop dx
ret
newline endp
code ends
end start

好吧!帮你做一题!

1