MOV[SI],AH;高半字节ASCI码字符→S DEC SI INC DI 00034<L POP CX W 0001H|12<H LOOP AB MOV DX, OFFSET OBUF (0002H 31 H MOV AH 9 0003H INT 21H OBUF广0004H33 ret 000534<L begin endp 006124<s code ends end begin 显示:1234
MOV [SI],AH ;高半字节ASCII 码字符→[SI] DEC SI INC DI POP CX LOOP AB MOV DX,OFFSET OBUF MOV AH,9 INT 21H ret begin endp code ends end begin 显示:1234 0000H 34 0001H 12 0002H 0003H 0004H 0005H 0006H 24 W OBUF L H 31 32 H 33 34 L $
2.十六进制数的显示(0FH) 编程步骤:(显示缓冲区应存放显示字符串 的ASCI码) 1)拆字—将字节拆成低半字节和高半字节 2)变字符—将低半字节和高半字节分别转 换成ASCⅡ码字符≤9加30H >9加37H 3)按从左至右的显示顺序将字符依次存入显 示缓冲区 4)采用9号功能调用显示
编程步骤: (显示缓冲区应存放显示字符串 的ASCII 码) 1)拆字—— 将字节拆成低半字节和高半字节 2)变字符—— 将低半字节和高半字节分别转 换成ASCII 码字符 3)按从左至右的显示顺序将字符依次存入显 示缓冲区 4)采用9号功能调用显示 ≤ 9 加30H > 9 加37H 2.十六进制数的显示(0—FH)
例2.2-2:将字变量W中的十六进制数显示 在屏幕上 stack segment stack stack 0000H AF KLI dw 32 dup (?) W 0001H19<H stack ends 000H00<H data segment 0003H00 W DW 1 9AFH OBUF 0004H00 OBUF DB 4 DUP(?),H,S 000500<L data ends 0006H48<H code segment 0007H24S
例2.2-2:将字变量W中的十六进制数显示 在屏幕上。 stack segment stack 'stack' dw 32 dup (?) stack ends data segment W DW 19AFH OBUF DB 4 DUP(?),'H', '$' data ends code segment 0000H AF 0001H 19 0002H 00 0003H 00 0004H 00 0005H 00 0006H 48 0007H 24 W OBUF L H H L H $
begin proc far assume ss: stack. cs: code. ds: data push ds W(DI) TOOOOH AF KL mov ax, 0 0001H19<H push ax OBUF mov ax. data 00000<H mov ds. ax 0003H00 OBUF+3 MOV CX. 02 (SD 0004H00 MOV DI OFFSET W 000500<L MOV SI, OFFSET OBUF+3 0006H KH 000HT24<s
begin proc far assume ss:stack,cs:code,ds:data push ds mov ax,0 push ax mov ax,data mov ds,ax MOV CX,02 MOV DI,OFFSET W MOV SI,OFFSET OBUF+3 0000H AF 0001H 19 0002H 00 0003H 00 0004H 00 0005H 00 0006H 48 0007H 24 L H H L $ W(DI) OBUF OBUF+3 (SI) H
NEXT: MOV AL, BYTE PTR [DI] PUSH CX MOV AH. AL AND AL. OFH CMP AL OAH: AL-OAH 有借位转 JC NOADD7;<0AH转 NOADD7(AL+30H ADD AL. 7 ≥0AH,AL+7+30H NOADD7:ADAL,3OH;低半字节变为ASCⅡ码字符 MOV[SI],AL;低半字节ASCI码字符→S DEC SI AND AH. OFOH
NEXT: MOV AL,BYTE PTR [DI] PUSH CX MOV AH,AL AND AL,0FH CMP AL,0AH ;AL-0AH JC NOADD7 ;< 0AH转NOADD7(AL+30H) ADD AL,7 ;≥0AH,AL+7+30H NOADD7:ADD AL,30H ;低半字节变为ASCII 码字符 MOV [SI],AL ;低半字节ASCII 码字符→[SI] DEC SI AND AH,0F0H 有借位转