问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

使用汇编语言,从键盘上输入0-65535之间的十进制数,将其转换成十六进制数,并在屏幕上显示出

发布网友 发布时间:2022-04-24 18:58

我来回答

2个回答

热心网友 时间:2023-10-02 16:21

;输入不超过65535的10进制数,将其以16位的形式显示
code  segment
      assume cs:code
      org 100h
start:
      jmp bbb
x     dw 0
msg1  db 10,13,'please input a number:','$'
msg2  db 10,13,'     ','$'

bbb:
      push cs
      pop ds
      lea dx,msg1
      mov ah,9
      int 21h
      
      lea bx,x
      mov ax,0
      push ax
again1:
      mov ah,1
      int 21h
      cmp al,13
      je line0
      sub al,30h
      mov ah,0
      mov si,ax
      pop ax
      mov cl,10
      mov ch,0
      mul cx
      add ax,si
      push ax
      jmp again1
line0:
      pop ax
      mov word ptr[x],ax
      lea di,msg2
      inc di
      inc di
      mov cx,4
again2:
      mov ax,word ptr[x]
      rol ax,1
      rol ax,1
      rol ax,1
      rol ax,1
;      rol ax,4
      mov word ptr[x],ax
      and ax,000Fh
      cmp al,9
      jg line1
      add al,30h
      mov byte ptr[di],al
      jmp line2
line1:
      add al,37h
      mov byte ptr[di],al
line2:
      inc di
      loop again2
      
      lea dx,msg2
      mov ah,9
      int 21h
      mov ah,8
      int 21h

      mov ah,4ch
      int 21h
code  ends
      end start

热心网友 时间:2023-10-02 16:22

没太明白。
一般情况下,输入完数据后,按回车,结束输入。
你这按下ESC键,是当什么情况下按下?
难道是:比方说,输入12,这时按下ESC,屏幕上输出OK?
下面是不考虑按ESC情况的程序。
;read a Decimal number, print it Hex
dseg segment
n  dw 0
f  db 0
t  db '0123456789ABCDEF'
msg0 db 'Please input decimal number between 0-65535:$'
msg1 db 'Conversion result is:$'
msg2 db 0dh,0ah,'Input error!',0dh,0ah,'$'
dseg ends

cseg segment
assume cs:cseg, ds:dseg
start:
mov ax, dseg
mov ds, ax

lea dx, msg0
mov ah,9
int 21h

lea si, n
call read10

cmp f,1
je ex0

lea dx, msg1
mov ah,9
int 21h

mov ax,n
call print
ex0:
mov ah,4ch
int 21h

;read a Decimal number
;store it in [si]
;end flag: char not in '0'-'9'
;readflag  f:0-success, 1:error
read10 proc near
xor dx,dx
mov bx,10
rd0:
mov ah,1
int 21h

cmp al,'0'
jb rt0
cmp al,'9'
ja rt0

and ax,0Fh
xchg ax,[si]
mul bx
add ax,[si]
jc re0
xchg ax,[si]

jmp rd0
re0:
mov f,1
lea dx,msg2
mov ah,9
int 21h
rt0:
ret
read10 endp

;print (ax) in Hex
print proc near
mov bx,16
xor cx,cx
Q0:
xor dx,dx
div bx
or dx,0e00h
push dx
inc cx
cmp ax,0
jnz Q0

lea bx,t
Q1:
pop ax
xlat
int 10h
loop Q1

mov al,'H'
int 10h
ret
print endp

cseg ends

end start

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎么把word 标题第几章和后面的标题中间的位置弄小点?有图片 钢化膜是抗蓝光的好 还是普通的好 都是在官网上买的 价钱都一样 但是抗... 我朋友借我5000块钱,说好5天还的,到现在3个月了人都不见。电话也不借... 有谁知道明年晋城富士康多会招工呢?是不是现在进富士康不好进去了? ...深圳 找工作 几月份去好呢?是年底去,还是二三月去??我是明年... 你们借出去的钱,要回来了吗?你如何看待那些借钱不还的人 别人借我6万元钱,7年了,现在他不认了,借条也丢了怎么办 ...跟他要的时候说还,可就不见还,一直托着还钱时间,当时没写借条... 我在网上认识一个人把钱借给了他没给借条怎么办?他现在也不想还? ...欠我5000块钱,打了借条,请问我有必要起诉他吗,起诉他的费用下来要... C语言 从键盘输入一个简单的数学表达式,计算并显示该表达式的值 求算法和程序 从键盘输入一行字符,写入一个文件,再把该文件内容读出显示在屏幕上 用c语言 从键盘读入一行字符(约定:字符数≤127字节),统计并显示该行字符中26... c语言编程:从键盘输入10个整型数据,找出其中的最小值并显示出来 2.从键盘输入两个1位十进制数,计算这两个数之和,并将结果在屏幕上显示出来。 从键盘输入十进制数字符,并在显示器上显示,按ctrl+c时退出 java将用户从键盘输入的每行数据都显示输出,遇到输入exit字符串,程序运行结束. 编写程序,实现从键盘输入20个数,找出其中的最大值并显示出来(要完整点的) 使用JAVA语言: 利用数组实现5×5数组,从键盘输入数组数据并显示输出在显示器 编程实现从键盘任意输入8个数,找到第三大/小 大—单号完成,小—双号完成,并显示数据的序号及值_百度问一问 从键盘输入数据在输出 键盘输入数据如何在显示器上显示 显示从键盘输入的数据 c语言,从键盘输入数字,显示输出结果 从键盘输入数据并显示的设计(微机程序设计) 能不能把图片表情去掉 如何ps掉图片中的表情包遮盖文字的表情包,并把这个文字显示出来? 表情包如何标注 求EXO恶搞表情包 求这个QQ表情清楚的,原版马赛克太多 那个平时洗菜的,带窟窿的塑料的盆子,叫啥名? 用汇编语言编程:从键盘输入一行字符,统计字母、空格、数字、其他字符的... 洗菜的篮子叫什么 洗菜篮子可以当做买菜篮子用么? 洗菜的篮子可以种菜吗。 调料瓶洗菜篮子塑料袋用了塑料材料的什么性能? 素描洗菜篮子,盘子,坛子,卷心菜,西红柿,黄瓜,茄子,西兰花,鸡蛋,蒜,姜 很多人认为厨房不用做防水,为什么不用做防水呢? 洗菜蓝子怎么做才会浮在水面? 士兵的荣耀小说txt全集免费下载 圣经中有关士兵荣耀的句子 安卓游戏《将军的荣耀》和《士兵的荣耀:二战》都是一样的吗?哪个更好玩? 纳粹德国在二战战败后,为什么士兵们不脱下军装逃命? 巫马英雄原名叫什么,都出过哪些书? 不顾性命保护将军的古代士兵,为何要这么做呢? 新兵满一年军事考核四有优秀士兵政府给士兵家里发喜报吗 不要再被抗日神剧忽悠,为何日军中从来都没有女兵呢? 世界征服者3士兵的荣耀杀敌数有什么用 古时候第一排的士兵知道会牺牲,为啥还要抢着冲锋? 古代士兵冲锋,在最前面的死得最惨,怎么都抢着上?