1. 程式人生 > >彙編:輸出暫存器AX中的內容

彙編:輸出暫存器AX中的內容

 1 DATAS segment
 2     Temp db '0000H','$'
 3 DATAS ends
 4 CODES segment
 5 START:
 6     mov AX,DATAS
 7     mov DS,AX
 8     ;正式程式碼開始
 9     mov AX,12ABH        ;設定需要顯示的AX的值
10     mov si,offset Temp+3;儲存儲存結果的字串的最後一個字元偏移地址
11     xor cx,cx           ;對cX清零
12     mov cl,4            ;設定迴圈次數為4次
13 
14
MainPart: 15 mov DH,AL ;將Al的內容傳送給DH 16 17 shr AX,1 18 shr AX,1 19 shr AX,1 20 shr AX,1 21 ;上述4句為使AX邏輯右移4位 理論上可以寫成 shr AX ,cl(cl設定為4) 22 ;但這個地方cl要記錄迴圈次數每次迴圈會是cl-1所以無法滿足正常的移位需要 23 and dh,0FH 24 add dh,30H 25 cmp dh,':' ;':'的ASCII比9大1 而字母的ASCII碼與數字的ASCII碼中間隔了7個其它字元
26 ja isLetter ;如果為字母則跳轉 27 jb No ;如果不是 28 29 isLetter: 30 add dh,7H ;ASCII碼加7變為字母 31 No: 32 mov [si],dh ;將字元存入,待存放內容的字串的對應位置 33 34 dec si ;待存放內容的記憶體地址自減1 35 loop MainPart 36 37 print: 38 mov dx,offset Temp ;將帶列印的字串的偏移地址存放進dx中 39 mov ah,09 ;設定DOS 09號功能
40 int 21H ;功能呼叫 41 mov al,0 42 mov ah,4CH 43 int 21H 44 45 CODES ends 46 end START