汇编网首页登录博客注册
youthangel的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
文章收藏

[2012-11-14 17:59] 综合实验二

1、
main()
{
        _AX=1;
        _BX=2;
        _CX=_AX+BX;
}

查看编译后的机器码和汇编代码为
1908:0000 BA5F19        MOV     DX,195F
1908:0003 2E            CS:
1908:0004 8916F801      MOV     [01F8],DX
1908:0008 B430          MOV     AH,30
1908:000A CD21          INT     21                        ;取dos版本号
1908:000C 8B2E0200      MOV     BP,[0002]
1908:0010 8B1E2C00      MOV     BX,[002C]
1908:0014 8EDA          MOV     DS,DX
1908:0016 A39200        MOV     [0092],AX
1908:0019 8C069000      MOV     [0090],ES
1908:001D 891E8C00      MOV     [008C],BX
1908:0021 892EAC00      MOV     [00AC],BP
1908:0025 C7069600FFFF  MOV     WORD PTR [0096],FFF
1908:002B E83401        CALL    0162
1908:002E C43E8A00      LES     DI,[008A]
1908:0032 8BC7          MOV     AX,DI
1908:0034 8BD8          MOV     BX,AX
1908:0036 B9FF7F        MOV     CX,7FFF
1908:0039 26            ES:
1908:003A 813D3837      CMP     WORD PTR [DI],3738
1908:003E 7519          JNZ     0059
1908:0040 26            ES:
1908:0041 8B5502        MOV     DX,[DI+02]
1908:0044 80FA3D        CMP     DL,3D
1908:0047 7510          JNZ     0059
1908:0049 80E6DF        AND     DH,DF
1908:004C FF069600      INC     WORD PTR [0096]
1908:0050 80FE59        CMP     DH,59
1908:0053 7504          JNZ     0059
1908:0055 FF069600      INC     WORD PTR [0096]
1908:0059 F2            REPNZ
1908:005A AE            SCASB
1908:005B E361          JCXZ    00BE
1908:005D 43            INC     BX
1908:005E 26            ES:
1908:005F 3805          CMP     [DI],AL
1908:0061 75D6          JNZ     0039
1908:0063 80CD80        OR      CH,80
1908:0066 F7D9          NEG     CX
1908:0068 890E8A00      MOV     [008A],CX
1908:006C B90100        MOV     CX,0001
1908:006F D3E3          SHL     BX,CL
1908:0071 83C308        ADD     BX,+08
1908:0074 83E3F8        AND     BX,-08
1908:0077 891E8E00      MOV     [008E],BX
1908:007B 8CDA          MOV     DX,DS
1908:007D 2BEA          SUB     BP,DX
1908:007F 8B3E9C01      MOV     DI,[019C]
1908:0083 81FF0002      CMP     DI,0200
1908:0087 7307          JNB     0090
1908:0089 BF0002        MOV     DI,0200
1908:008C 893E9C01      MOV     [019C],DI
1908:0090 81C7EC01      ADD     DI,01EC
1908:0094 7228          JB      00BE
1908:0096 033E9A01      ADD     DI,[019A]
1908:009A 7222          JB      00BE
1908:009C B104          MOV     CL,04
1908:009E D3EF          SHR     DI,CL
1908:00A0 47            INC     DI
1908:00A1 3BEF          CMP     BP,DI
1908:00A3 7219          JB      00BE
1908:00A5 833E9C0100    CMP     WORD PTR [019C],+00
1908:00AA 7407          JZ      00B3
1908:00AC 833E9A0100    CMP     WORD PTR [019A],+00
1908:00B1 750E          JNZ     00C1
1908:00B3 BF0010        MOV     DI,1000
1908:00B6 3BEF          CMP     BP,DI
1908:00B8 7707          JA      00C1
1908:00BA 8BFD          MOV     DI,BP
1908:00BC EB03          JMP     00C1
1908:00BE E92101        JMP     01E2
1908:00C1 8BDF          MOV     BX,DI
1908:00C3 03DA          ADD     BX,DX
1908:00C5 891EA400      MOV     [00A4],BX
1908:00C9 891EA800      MOV     [00A8],BX
1908:00CD A19000        MOV     AX,[0090]
1908:00D0 2BD8          SUB     BX,AX
1908:00D2 8EC0          MOV     ES,AX
1908:00D4 B44A          MOV     AH,4A                        ;修改内存申请
1908:00D6 57            PUSH    DI
1908:00D7 CD21          INT     21
1908:00D9 5F            POP     DI
1908:00DA D3E7          SHL     DI,CL
1908:00DC FA            CLI
1908:00DD 8ED2          MOV     SS,DX
1908:00DF 8BE7          MOV     SP,DI
1908:00E1 FB            STI
1908:00E2 33C0          XOR     AX,AX
1908:00E4 2E            CS:
1908:00E5 8E06F801      MOV     ES,[01F8]
1908:00E9 BFA601        MOV     DI,01A6
1908:00EC B9EC01        MOV     CX,01EC
1908:00EF 2BCF          SUB     CX,DI
1908:00F1 F3            REPZ
1908:00F2 AA            STOSB
1908:00F3 0E            PUSH    CS
1908:00F4 FF16A001      CALL    [01A0]
1908:00F8 E84401        CALL    023F
1908:00FB E82C02        CALL    032A
1908:00FE B400          MOV     AH,00
1908:0100 CD1A          INT     1A
1908:0102 89169800      MOV     [0098],DX
1908:0106 890E9A00      MOV     [009A],CX
1908:010A FF16A401      CALL    [01A4]
1908:010E FF368800      PUSH    [0088]
1908:0112 FF368600      PUSH    [0086]
1908:0116 FF368400      PUSH    [0084]
1908:011A E8DD00        CALL    01FA                        ;调用主函数
1908:011D 50            PUSH    AX
1908:011E E8E900        CALL    020A
1908:0121 2E            CS:
1908:0122 8E1EF801      MOV     DS,[01F8]
1908:0126 E87C00        CALL    01A5
1908:0129 0E            PUSH    CS
1908:012A FF16A201      CALL    [01A2]
1908:012E 33C0          XOR     AX,AX
1908:0130 8BF0          MOV     SI,AX
1908:0132 B92F00        MOV     CX,002F
1908:0135 90            NOP
1908:0136 FC            CLD
1908:0137 0204          ADD     AL,[SI]
1908:0139 80D400        ADC     AH,00
1908:013C 46            INC     SI                                这里有一个循环
1908:013D E2F8          LOOP    0137
1908:013F 2D370D        SUB     AX,0D37
1908:0142 90            NOP
1908:0143 740A          JZ      014F
1908:0145 B91900        MOV     CX,0019
1908:0148 90            NOP
1908:0149 BA2F00        MOV     DX,002Ft
1908:014C E88B00        CALL    01DA
1908:014F 8BEC          MOV     BP,SP
1908:0151 B44C          MOV     AH,4C
1908:0153 8A4602        MOV     AL,[BP+02]
1908:0156 CD21          INT     21                        退出
2、主函数地址为01FA
主函数的内容
1908:01FA 55            PUSH    BP
1908:01FB 8BEC          MOV     BP,SP
1908:01FD B80100        MOV     AX,0001
1908:0200 BB0200        MOV     BX,0002
1908:0203 8BC8          MOV     CX,AX
1908:0205 03CB          ADD     CX,BX
1908:0207 5D            POP     BP
1908:0208 C3            RET
main代表主函数在代码段中的偏移地址
评论次数(0)  |  浏览次数(762)  |  类型(汇编作业) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码