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

我的博客

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

[2010-06-09 15:49] 附注3

附注3
1 向前转
(1)如果disp∈[-128, 127], 则都产生 EB disp(两个字节)
assume cs:code
code segment
  s:jmp s;
    jmp short s;
    jmp near ptr s;
    jmp far ptr s;
code ends
end s
产生的机器码
jmp s;             EBFE JMP 0000
jmp short s;       EBFC JMP 0000
jmp near ptr s;    EBFA JMP 0000
jmp far ptr s;  ...
阅读全文 | 评论次数(0) | 浏览次数(586) | 所属类型(学习笔记)

[2010-06-09 14:37] 实验7

实验7
assume cs:codesg
data segment
    db '1975','1976','1977','1978','1979','1980','1981','1982','1983';
    db '1984','1985','1986','1987','1988','1989','1990','1991','1992';
    db '1993','1994','1995'
    ;  21 years' names
    
    dd 16,    22,    382,   1356,  2390,  8000,  16000, 2448...
阅读全文 | 评论次数(0) | 浏览次数(629) | 所属类型(汇编作业)

[2010-06-09 13:30] 实验6

实验6
(1) 将课程中所有讲解过的程序上机调试,用Debug跟踪其执行过程,并在过程中
进一步理解所讲内容。
第1-3章 基本没有成段的代码.
第4章
;p77.asm
assume cs:codesg    _AX_ _BX_ _IP_ OF SF ZF AF PF CF
codesg segment   ;  0000 0000 0000 NV PL NZ NA PO NC 
        mov ax, 0123h;  0123 ---- 0003 -- -- -- -- -- --
        mov bx, 0456h;  ---- 0456 0006 -- -- -- -- -- -...
阅读全文 | 评论次数(0) | 浏览次数(641) | 所属类型(汇编作业)

[2010-05-28 16:59] 实验5

实验5
(1) 将下面的程序编译连接,用debug加载、跟踪,然后回答问题。
assume cs:code, ds:data, ss:stack
data segment
    dw 0123h, 0456h, 0789h, 0abch, 0defh, 0fedh, 0cbah, 0987h;
data ends
stack segment
    dw 0,     0,     0,     0,     0,     0,     0,     0;
stack ends
code segment
start:
    mov ax, stack;
    mo...
阅读全文 | 评论次数(0) | 浏览次数(590) | 所属类型(汇编作业)

[2010-05-26 23:50] 实验4

实验4
(1)、(2)
assume cs:code
code segment
    mov ax,0020h;
    mov ds,ax;
    
    mov cx,64;  0~63共 64 个
    mov bx,0;
  s:
    mov ds:[bx], bl;
    inc bl;
    loop s;

    mov ax,4c00h
    int 21h;
code ends
end
(3)
分析:将代码段的内容当成数据复制. 从代码段到0200:0~? 所以第一空为cs;
经过观察和分析:
mov ax, cs...
阅读全文 | 评论次数(3) | 浏览次数(1062) | 所属类型(汇编作业)

[2010-05-26 20:22] 实验3

点击查看原图
实验3
(1) 将下面的程序保存为t1.asm文件,将其生成可执行t1.exe。
assume cs:code
code segment
    mov ax,2000h
    mov ss,ax
    mov sp,0
    add sp,10
    pop ax
    pop bx
    push ax
    push bx
    pop ax
    pop bx

    mov ax,4c00h
    int 21h
code ends
end
(3) PSP的头两个字节是CD 20,用Debug加载t1.exe,查看PSP的内...
阅读全文 | 评论次数(0) | 浏览次数(690) | 所属类型(汇编作业)

[2010-05-26 17:38] 实验2

点击查看原图
实验2
(1) 使用Debug,将下面的程序段写入内存,逐条执行,根据指令执行后的实际运
行情况填空。
               _AX_ _BX_ _DS_ _SS_ _SP_ OF SF ZF PF CF AF
mov ax,ffffh;  FFFF 0000 32DA 32DA FFEE NV PL NZ PO NC AC
mov ds,ax;     ---- ---- FFFF ---- ---- -- -- -- -- -- --
mov ax,2200h;  2200 ---- ---- ---- ---- -- -- -- -- -- --    
mov s...
阅读全文 | 评论次数(0) | 浏览次数(810) | 所属类型(汇编作业)

[2010-05-24 18:48] 实验1

实验1
(1) 使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后CPU中
相关的寄存器的变化。
              AHAL BHBL _IP_ OF SF ZF PF CF DF
              0000 0000 0100 NV PL NZ PO NC UP
mov ax,4e20h; 4E20 ---- 0103 -- -- -- -- -- --
add ax,1416h; 6236 ---- 0106 -- -- -- PE -- --
mov bx,2000h; ---- 2000 0109 -- -- -- -- -- -- ...
阅读全文 | 评论次数(1) | 浏览次数(869) | 所属类型(汇编作业)

[2010-05-24 16:39] 检测点2.3

检测点2.3
下面3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP中的值是多少?

89d8 mov ax,bx;  读这条指令到指令缓冲器后修改IP值为,当前IP值+2(89d8为2B)
29c0 sub ax,ax;  读这条指令到指令缓冲器后修改IP值为,当前IP值+2(29c0为2B)
ffe0 jmp ax   ;  读这条指令到指令缓冲器后修改IP值为,当前IP值+2(ffe0为2B)
;然后jmp指令执行,修改IP为(ax),即IP=0;

所以一共修改4次IP,最后IP为0;...
阅读全文 | 评论次数(2) | 浏览次数(797) | 所属类型(汇编作业)

[2010-05-24 16:19] 检测点2.2

检测点2.2
(1) 给定段地址0001H,仅通过变化偏移地址寻址,CPU寻址范围为
_00010h_到_1000fh_。
分析:偏移地址16位范围0~FFFF, 所以寻址范围为10h+0h到10h+ffffh
即: 00010h 到 1000fh。
(2) 有一数据存放在内存20000h单元中,现给定段地址为SA,若想用偏移地址寻址
到此单元。则SA应满足的条件是:最小为_1001h_,最大为_2000h_。
分析:偏移地址16位范围0~FFFF,所以SA表示的内存起始地址可能范围为
20000h-ffffh到20000h-0h 即: 10001到20000h 
而段地址S...
阅读全文 | 评论次数(1) | 浏览次数(781) | 所属类型(汇编作业)
『 查看更多文章 』