
编写一个程序,用二进制显示从键盘输入一个字符ascII码? 这个程序错在哪了?一运行就结束了 15
datasegmentdataendscodesegment'code';定义代码段assumecs:code,ds:datastart:;指定开始位置movax,dat...
data segment
data ends
code segment'code' ;定义代码段
assume cs:code,ds:data
start: ;指定开始位置
mov ax,data
mov ds,ax
mov ah,01h ;DOS 7号功能调用,无回显输入一个字符
int 21h
and ax,00ffh ;AX高位清零
mov cx,0
L:xor dx,dx ;DX清零
cmp ax,10h ;与十六相比较,小于十六转入H
jl H
mov bx,10h
div bx
push dx ;存余数
inc cx ;计算存入栈的数据个数
jmp L
H:push ax ;保存最后的余数
inc cx
T:pop dx ;弹了堆栈中的数据
or dx,30h ;加30H转为ASCII码
mov ah,02h ;DOS 2号功能,显示中的内容
int 21h
loop T
mov ah,4ch
int 21h
code ends
end start 展开
data ends
code segment'code' ;定义代码段
assume cs:code,ds:data
start: ;指定开始位置
mov ax,data
mov ds,ax
mov ah,01h ;DOS 7号功能调用,无回显输入一个字符
int 21h
and ax,00ffh ;AX高位清零
mov cx,0
L:xor dx,dx ;DX清零
cmp ax,10h ;与十六相比较,小于十六转入H
jl H
mov bx,10h
div bx
push dx ;存余数
inc cx ;计算存入栈的数据个数
jmp L
H:push ax ;保存最后的余数
inc cx
T:pop dx ;弹了堆栈中的数据
or dx,30h ;加30H转为ASCII码
mov ah,02h ;DOS 2号功能,显示中的内容
int 21h
loop T
mov ah,4ch
int 21h
code ends
end start 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询