📄 helloworld2_proc.exe.list
字号:
EMU8086 GENERATED LISTING. MACHINE CODE <- SOURCE.
helloworld2_proc.exe -- emu8086 assembler version: 4.02
[ 2006-10-25 -- 21:20:41 ]
===================================================================================================
[LINE] LOC: MACHINE CODE SOURCE
===================================================================================================
[ 1] : TITLE ***HELLO,WORLD***
[ 2] :
[ 3] : ;定义数据段
[ 4] : DATA SEGMENT
[ 5] 0000: 48 45 4C 4C 4F 2C 57 4F 52 4C 44 21 MSG DB 'HELLO,WORLD!','$'
24
[ 6] : DATA ENDS
[ 7] :
[ 8] : ;定义代码段
[ 9] : CODE SEGMENT
[ 10] : ASSUME CS:CODE ;规定CS的内容
[ 11] : ASSUME DS:DATA ;规定DS的内容
[ 12] :
[ 13] 0010: START:
[ 14] 0010: B8 00 00 MOV AX,DATA ;程序从START开始
[ 15] 0013: 8E D8 MOV DS,AX ;DS置初值,DATA的段地址
[ 16] 0015: BA 00 00 LEA DX,MSG ;得到字符串"Hello World!"的偏移地址
[ 17] 0018: E8 0A 00 CALL DISPSTR
[ 18] 001B: E8 07 00 CALL DISPSTR
[ 19] 001E: E8 04 00 CALL DISPSTR
[ 20] :
[ 21] 0021: B4 4C EXIT: MOV AH,4CH ;4C号功能调用:终止当前程序并返回调用程序
[ 22] 0023: CD 21 INT 21H ;返回DOS
[ 23] :
[ 24] 0025: DISPSTR PROC NEAR
[ 25] 0025: B4 09 MOV AH,09H ;9号功能调用:显示字符串
[ 26] 0027: CD 21 INT 21H ;完成输出显示
[ 27] 0029: C3 RET ;返回
[ 28] : DISPSTR ENDP
[ 29] :
[ 30] : CODE ENDS ;代码段结尾
[ 31] : END START ;结束汇编
[ 32] :
[ 33] :
[ 34] :
[ 35] :
===================================================================================================
EXE HEADER - bytes from 0000 to 01FF inclusive.
0000: 4D - exe signature (M)
0001: 5A - exe signature (Z)
0002: 2A - bytes on last page (l.byte)
0003: 00 - bytes on last page (h.byte)
0004: 02 - 512 byte pages in file (l.byte)
0005: 00 - 512 byte pages in file (h.byte)
0006: 01 - relocations (l.byte)
0007: 00 - relocations (h.byte)
0008: 20 - paragraphs in header (l.byte)
0009: 00 - paragraphs in header (h.byte)
000A: 00 - minimum memory (l.byte)
000B: 00 - minimum memory (h.byte)
000C: FF - maximum memory (l.byte)
000D: FF - maximum memory (h.byte)
000E: 00 - SS - stack segment (l.byte)
000F: 00 - SS - stack segment (h.byte)
0010: 00 - SP - stack pointer (l.byte)
0011: 00 - SP - stack pointer (h.byte)
0012: 52 - check sum (l.byte)
0013: 23 - check sum (h.byte)
0014: 00 - IP - instruction pointer (l.byte)
0015: 00 - IP - instruction pointer (h.byte)
0016: 01 - CS - code segment (l.byte)
0017: 00 - CS - code segment (h.byte)
0018: 1E - relocation table adress (l.byte)
0019: 00 - relocation table adress (h.byte)
001A: 00 - overlay number (l.byte)
001B: 00 - overlay number (h.byte)
001C: 01 - signature (l.byte)
001D: 00 - signature (h.byte)
001E: 01 - relocation table - offset inside segment (l.byte)
001F: 00 - relocation table - offset inside segment (h.byte)
0020: 01 - relocation table - segment anchor (l.byte)
0021: 00 - relocation table - segment anchor (h.byte)
0022 to 01FF - reserved relocation area (00)
===================================================================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -