进制转换问题 请有经验的汇编高手 进来指点一二
时间:2011-04-09
来源:互联网
内容:用子程序设计的方法,从键盘输入2位16进制数,并在屏幕上以10进制数显示.然后我的编程如下
data segment
dat dw ?
rec dw 2 dup(?)
data ends
code segment
assume cs:code,ds:data
start:
push ds
mov ax,data
mov ds,ax
mov bx,0
newchar:mov ah,1
int 21h
sub al,30h
jl ini
cmp al,10
jl add_to
sub al,27h
cmp al,0ah
cmp al,0ah
jl ini
cmp al,10h
jge ini
add_to:
mov cl,4
shl bx,cl
mov ah,0
add bx,ax
mov dat,bx
jmp newchar
ini:
mov ax,dat
mov bx,10
mov si,4
change:
mov dx,0
div bx
mov [rec+si],dl
dec si
cmp ax,0
ja change
next:
inc si
mov dl,[rec+si]
add dl,30h
mov ah,02h
int 21h
cmp si,4
jb next
mov dl,20h
mov ah,02h
int 21h
exit:
mov ah,4ch
int 21h
code ends
end start
调试时不懂怎么从键盘输入,所以也不知道程序是否可行,各位大侠帮帮忙,指点一二,万分感谢!
data segment
dat dw ?
rec dw 2 dup(?)
data ends
code segment
assume cs:code,ds:data
start:
push ds
mov ax,data
mov ds,ax
mov bx,0
newchar:mov ah,1
int 21h
sub al,30h
jl ini
cmp al,10
jl add_to
sub al,27h
cmp al,0ah
cmp al,0ah
jl ini
cmp al,10h
jge ini
add_to:
mov cl,4
shl bx,cl
mov ah,0
add bx,ax
mov dat,bx
jmp newchar
ini:
mov ax,dat
mov bx,10
mov si,4
change:
mov dx,0
div bx
mov [rec+si],dl
dec si
cmp ax,0
ja change
next:
inc si
mov dl,[rec+si]
add dl,30h
mov ah,02h
int 21h
cmp si,4
jb next
mov dl,20h
mov ah,02h
int 21h
exit:
mov ah,4ch
int 21h
code ends
end start
调试时不懂怎么从键盘输入,所以也不知道程序是否可行,各位大侠帮帮忙,指点一二,万分感谢!
作者: beichengxue 发布时间: 2011-04-09
编译通过了吗? 如果出错贴出错信息。
PS:debug的时候, 遇到mov ah,1的时候, 按T,遇到int 21H的时候, 按P,此时输入字符。
PS:debug的时候, 遇到mov ah,1的时候, 按T,遇到int 21H的时候, 按P,此时输入字符。
作者: masmaster 发布时间: 2011-04-09
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28