题目要求
从键盘输入五位十进制数的ASCⅡ码,存放于3500h其实的内存单元中,将其转换为BCD码后,再按位分别存入350Ah起始的内存单元内。若输入的不是十进制ASCⅡ码,则对应存放结果的单元内容为FF。
代码
.model small
.data
org 3500h;从3500h开始作为变量的首地址
num1 db 31h,32h,33h,34h,35h
org 350ah
num2 db 5 dup(0)
.code
start:
mov ax,@data
mov ds,ax;之后数据全部数据堆栈
mov si,offset num1;3500地址给offset
mov di,offset num2
mov cx,5;
change:
mov al,[si]
cmp al,39h
ja iserror
cmp al,30h
jb iserror
sub al,30h
mov [di],al;mov [350ah],al
jmp changeloop
iserror:
mov bx,0ffh
mov [di],bx
changeloop:
add si,1
add di,1
loop change
mov ah,4ch
int 21h
end start
运行截图
来源:CSDN
作者:少年豪放Star
链接:https://blog.csdn.net/XYshaonianhaofang/article/details/103465555