📄 eg0415.lst
字号:
Microsoft (R) Macro Assembler Version 6.15.8803 08/18/07 21:09:27
eg0415.asm Page 1 - 1
;eg0415.asm
include io32.inc
C .nolist
C .list
C
00000000 .data
00000000 45 41 58 3D regd byte 'EAX=',8 dup(0),'H',0
00000008 [
00
] 48 00
00000000 .code
00000000 start:
00000000 B8 1234ABCD mov eax,1234abcdh
00000005 33 DB xor ebx,ebx
00000007 B9 00000008 mov ecx,8 ; 8位十六进制数
0000000C C1 C0 04 again: rol eax,4
0000000F 50 push eax
00000010 E8 0000001C call htoasc ; 调用子程序
00000015 88 83 00000004 R mov regd+4[ebx],al
0000001B 58 pop eax
0000001C 43 inc ebx
0000001D 49 dec ecx
0000001E 75 EC jnz again
00000020 B8 00000000 R mov eax,offset regd
00000025 E8 00000000 E call dispmsg ; 显示
exit 0
; 子程序
00000031 htoasc proc ; 过程定义,过程名为htoasc
00000031 24 0F and al,0fh ; 只取AL的低4位
00000033 0C 30 or al,30h ; AL高4位变成3
00000035 3C 39 cmp al,39h ; 是0~9,还是A~F
00000037 76 02 jbe htoend
00000039 04 07 add al,7 ; 是A~F,其ASCII码再加上7
0000003B C3 htoend: ret ; 子程序返回
0000003C htoasc endp ; 过程结束
end start
Microsoft (R) Macro Assembler Version 6.15.8803 08/18/07 21:09:27
eg0415.asm Symbols 2 - 1
Macros:
N a m e Type
exit . . . . . . . . . . . . . . Proc
Segments and Groups:
N a m e Size Length Align Combine Class
FLAT . . . . . . . . . . . . . . GROUP
_DATA . . . . . . . . . . . . . 32 Bit 0000000E Para Public 'DATA'
_TEXT . . . . . . . . . . . . . 32 Bit 0000003C Para Public 'CODE'
Procedures, parameters and locals:
N a m e Type Value Attr
ExitProcess . . . . . . . . . . P Near 00000000 FLAT Length= 00000000 External STDCALL
htoasc . . . . . . . . . . . . . P Near 00000031 _TEXT Length= 0000000B Public STDCALL
htoend . . . . . . . . . . . . L Near 0000003B _TEXT
Symbols:
N a m e Type Value Attr
@CodeSize . . . . . . . . . . . Number 00000000h
@DataSize . . . . . . . . . . . Number 00000000h
@Interface . . . . . . . . . . . Number 00000003h
@Model . . . . . . . . . . . . . Number 00000007h
@code . . . . . . . . . . . . . Text _TEXT
@data . . . . . . . . . . . . . Text FLAT
@fardata? . . . . . . . . . . . Text FLAT
@fardata . . . . . . . . . . . . Text FLAT
@stack . . . . . . . . . . . . . Text FLAT
again . . . . . . . . . . . . . L Near 0000000C _TEXT
dispbb . . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
dispbd . . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
dispbw . . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
dispcrlf . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
dispc . . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
disphb . . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
disphd . . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
disphw . . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
dispmsg . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
disprb . . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
disprd . . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
disprf . . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
disprw . . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
dispsib . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
dispsid . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
dispsiw . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
dispuib . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
dispuid . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
dispuiw . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
readbb . . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
readbd . . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
readbw . . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
readc . . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
readhb . . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
readhd . . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
readhw . . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
readmsg . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
readsib . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
readsid . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
readsiw . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
readuib . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
readuid . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
readuiw . . . . . . . . . . . . L Near 00000000 FLAT External STDCALL
regd . . . . . . . . . . . . . . Byte 00000000 _DATA
start . . . . . . . . . . . . . L Near 00000000 _TEXT Public STDCALL
0 Warnings
0 Errors
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -