汇编实验——将十六位二进制数转换为五位ASCII码


要求:在0500H-0501H单元存放被转换的16位二进制数(如00AAH),转换结果存放到0510H-0514H单元中

这实验是真的顶,没预习根本不可能自己做出来,还好机房有前辈的代码~~~
我不知道老师咋想的 一些可能连C语言都没玩明白的自动化带学生,第一个实验直接让它们做汇编的数制转换 很难绷得住

STACK SEGMENT STACK
  DW 64 DUP (?)
 STACK ENDS
DATA SEGMENT 
     ORG 0500H
DATA1 DW 00AAH
      ORG 0510H
DATA2 DB 5 DUP (?)
DATA ENDS
CODE SEGMENT
     ASSUME CS:CODE, DS:DATA,SS:STACK

START:
 MOV AX,DATA ;
 MOV DS,AX
 LEA SI,DATA1
 LEA DI,DATA2+4
 MOV BX,000AH
 MOV CX,0005H
 MOV AX,[SI]
AA0: MOV DX,000H
     DIV BX
	 ADD DL,30H
     MOV [DI],DL
     DEC DI 
     LOOP AA0
     
    MOV AH,4CH	 
INT 21H
CODE ENDS
  END START

这里用masm模拟下当时的操作
1.U命令
首先用 U CS:0000命令 发现 代码段CS段在07C4 数据段DS在0772

2.E命令
E 0772:0500 修改 数据为00AA
3.G命令 使debug生效
G=07C4:0000
4.D命令
D 0772:0500,0515查看结果

如图 00AAH被转化为 ASCII码170


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM