📄 03.lst
字号:
Microsoft (R) Macro Assembler Version 6.11 11/16/07 01:59:21
F:\课程\aaa\souce\03.asm Page 1 - 1
0000 data segment
0000 70 6C 65 61 73 65 m1 db 'please put into sexadecimal number',13,10,'$'
20 70 75 74 20 69
6E 74 6F 20 73 65
78 61 64 65 63 69
6D 61 6C 20 6E 75
6D 62 65 72 0D 0A
24
0025 79 6F 75 20 70 75 m2 db 'you put into wrong number',13,10,'$'
74 20 69 6E 74 6F
20 77 72 6F 6E 67
20 6E 75 6D 62 65
72 0D 0A 24
0041 0D 0A 24 m3 db 13,10,'$'
0044 data ends
0000 CODE SEGMENT
ASSUME CS:CODE,ds:data
0000 START:
0000 B8 ---- R mov ax,data
0003 8E D8 mov ds,ax
0005 B9 0004 mov cx,4
0008 B4 01 input: mov ah,01h
000A CD 21 int 21h
000C 50 push ax
000D E2 F9 loop input
000F 58 pop ax
0010 5B pop bx
0011 59 pop cx
0012 5A pop dx
0013 50 push ax
0014 53 push bx
0015 51 push cx
0016 52 push dx
0017 BA 0041 R mov dx,offset m3
001A B4 09 mov ah,09h
001C CD 21 int 21h
001E B7 04 mov bh,4
0020 text:
0020 80 FF 00 cmp bh,0
0023 74 45 je EXIT
0025 FE CF dec bh
0027 58 pop ax
0028 8B D0 mov dx,ax
002A 2C 30 SUB AL,30H
002C 7C 35 JL error ;输入其他字符
002E 3C 0A CMP AL,0AH
0030 7C 16 JL PRINT ;输入0~9
0032 2C 07 SUB AL,07H
0034 3C 0A CMP AL,0AH
0036 7C 2B JL error ;输入其他字符
0038 3C 0F CMP AL,0FH
003A 7E 0C JLE PRINT ;输入A~F
003C 2C 20 SUB AL,20H
003E 3C 0A CMP AL,0AH
0040 7C 21 JL error ;输入其他字符
0042 3C 0F CMP AL,0FH
0044 7E 02 JLE PRINT ;输入a~f
0046 EB 1B JMP error ;输入其他字符
0048 B1 04 PRINT: mov cl,4
004A 8A D8 mov bl,al
004C D2 C3 rol bl,cl
004E B9 0004 mov cx,4
0051 D0 C3 yj : rol bl,1
0053 8A C3 mov al,bl
0055 24 01 and al,01h
0057 04 30 add al,30h
0059 8A D0 mov dl,al
005B B4 02 mov ah,02h
005D CD 21 int 21h
005F E2 F0 loop yj
0061 EB BD jmp text
0063 BA 0025 R error: mov dx,offset m2
0066 B4 09 mov ah,09h
0068 CD 21 int 21h
006A B4 4C EXIT: MOV AH,4CH ;程序结束并返回DOS
006C CD 21 INT 21H
006E CODE ENDS
END START
Microsoft (R) Macro Assembler Version 6.11 11/16/07 01:59:21
F:\课程\aaa\souce\03.asm Symbols 2 - 1
Segments and Groups:
N a m e Size Length Align Combine Class
CODE . . . . . . . . . . . . . . 16 Bit 006E Para Private
data . . . . . . . . . . . . . . 16 Bit 0044 Para Private
Symbols:
N a m e Type Value Attr
EXIT . . . . . . . . . . . . . . L Near 006A CODE
PRINT . . . . . . . . . . . . . L Near 0048 CODE
START . . . . . . . . . . . . . L Near 0000 CODE
error . . . . . . . . . . . . . L Near 0063 CODE
input . . . . . . . . . . . . . L Near 0008 CODE
m1 . . . . . . . . . . . . . . . Byte 0000 data
m2 . . . . . . . . . . . . . . . Byte 0025 data
m3 . . . . . . . . . . . . . . . Byte 0041 data
text . . . . . . . . . . . . . . L Near 0020 CODE
yj . . . . . . . . . . . . . . . L Near 0051 CODE
0 Warnings
0 Errors
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -