主题:初学者,请问这道题怎么作
lujiayang
[专家分:0] 发布于 2006-04-07 22:30:00
用DOS的一号功能调用,从键盘接收10个字符,并将这十个字符压入堆栈,而后将
堆栈中的这十个字符送数据段的数据区BUF,最后用DOS的9号功能调用实现逆序显
示
回复列表 (共3个回复)
沙发
C语言爱好者 [专家分:19410] 发布于 2006-04-07 23:57:00
.model small
.stack 50
.data
buff db 11
db ?
string db 11 dup(?)
disp db 13, 10
buf db 11 dup('$')
.code
.startup
mov ax, DGROUP
mov ds, ax
mov dx, offset DGROUP:buff
mov ah, 0ah
int 21h
xor bx, bx
xor dx, dx
pshdn: cmp string[bx], 0dh
jz short popup
mov dl, string[bx]
push dx
inc bx
jmp pshdn
popup: mov cx, bx
xor bx, bx
cycle: pop dx
mov buf[bx], dl
inc bx
loop cycle
mov dx, offset DGROUP:disp
mov ah, 09h
int 21h
.exit
end
板凳
lujiayang [专家分:0] 发布于 2006-04-08 16:08:00
看不懂啊
怎么那么麻烦呢
3 楼
lujiayang [专家分:0] 发布于 2006-04-08 16:20:00
好像跟我们学的不一样啊
我来回复