匯編實驗——將十六位二進制數轉換為五位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