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

我的博客

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

[2008-04-19 17:18] 那位老师帮我看看这个嵌套问题出在哪儿?

void key(void)           //求键值
{
 char kvalc;      
 keychek();              //查键
 if (keychek())          //如果有键
    {
     eep_disp();         //调用显示来延时20毫秒
     keychek();
     if (keychek())      //再查确认有键
                          //以下通过PORT7..4逐线输出0,查PINB3..0和PINC4求键值
             
 ...
阅读全文 | 评论次数(3) | 浏览次数(712) | 所属类型(默认类型)

[2008-04-18 16:56] 实验五-(5)

assume cs:code
     a segment 
        db 1,2,3,4,5,6,7,8
     a ends
     b segment
        db 1,2,3,4,5,6,7,8
     b ends
     c segment
        db 0,0,0,0,0,0,0,0
     c ends
     code segment
start:mov ax,a
        mov ds,ax   ;将ds指向a数据段
        mov ax,c
        mov es,ax   ;将es指向c数据段
        mov bx,0    ;bx寄存器清零
        mov cx,4    ;...
阅读全文 | 评论次数(4) | 浏览次数(765) | 所属类型(汇编作业)

[2008-04-14 14:40] 实验四-(2)

点击查看原图
代码如下:

assume cs:code
code segment
        mov ax,0020h
        mov ds,ax
        mov dx,0
        mov cx,64
   S:mov ds:[bx],bx
        inc bx
        loop s
        mov ax,4c00h
        int 21h
code ends
end
运行结果如图...
阅读全文 | 评论次数(1) | 浏览次数(619) | 所属类型(汇编作业)

[2008-04-13 12:46] 对程序5.3的一点疑问!

点击查看原图
下面是书上的源程序,将它编译、链接生成p3.exe后,用debug跟踪如图中上部分所示。
assume cs: code
code segment
        mov ax,0ffffh
        mov ds,ax
        mov bx,6

        mov al,[bx]
        mov ah,0

        mov dx,0

        mov cx,3
             s:add dx,ax
        loop s

        mov ax,4c00h
        int 21h
code ends
end



我把它改成如下:

assume cs: code
code segment
        mov...
阅读全文 | 评论次数(3) | 浏览次数(632) | 所属类型(默认类型)

[2008-04-10 18:46] 实验三(3)

点击查看原图
PSP内容查看结果如图所示...
阅读全文 | 评论次数(3) | 浏览次数(648) | 所属类型(汇编作业)

[2008-04-10 18:40] 实验三(2)

点击查看原图
当CPU执行完指令“ADD SP,+04”后,再次使用T命令,就会出现如图所示的错误提示。
分析:
在执行“ADD SS,AX”之前,栈空间为0B79:0~0B79:FFFF,长度为64KB,执行“ADD SS,AX”之后,栈空间变为2000:0~2000:F,长度为16B,执行“ADD SP,4”之后,栈空间为2000:0~2000:3,长度仅为4B
这时对Debug输入T命令,Debug将控制权交给CPU,当CPU执行“POP AX”完指令后,将控制权交给Debug,Debug引发中断,由于当前CPU状态数据长度大于当前栈空间长度,这时Debug将CPU当前状态数据存入当前栈中的操作...
阅读全文 | 评论次数(3) | 浏览次数(584) | 所属类型(汇编作业)

[2008-04-09 20:49] 第三章实验任务(2)这样理解正确么?

点击查看原图
如图所示
1.在执行"MOV AX,2000"之前,默认的栈空间(0B39:FFEE)和20000H~2000FH内存段均为空,如图中红色1所示。

2.执行"MOV AX,2000"之后,CPU会将一些临时信息存入默认栈空间0B39:FFEE 中的某些栈单元里(比如,“MOV AX,2000”指令执行后,AX值被存入0B39:4处的字单元中,IP值被存入0B39:8处字单元中,CS值被存入0B39:A处的字单元中,而且这些值的存放位置会随SP的改变而发生变化),这时20000H~2000FH段内所有单元仍为空,如图中红色2处所示。

3.执行“MOV SS,AX”后,默认的栈段空间...
阅读全文 | 评论次数(8) | 浏览次数(659) | 所属类型(汇编作业)

[2008-04-07 15:10] 检测点3.2

点击查看原图
(1)
mov ax,1000H   
mov ds,ax      ; 设置数据段段地址为:1000H

mov ax,2000H   
mov ss,ax      
mov sp,0010H ; 设置栈段段地址,初始化栈顶地址, 栈空间:20000H~2000FH, 且栈空

push [0]       ; sp=sp-2,将1000:0处字单元内容压入栈中, ss:sp指向2000:000E
push [2]       ; sp=sp-2,将1000:2处字单元内容压入栈中, ss:sp指向2000:000C
push [4]       ; sp=sp-2,将...
阅读全文 | 评论次数(3) | 浏览次数(681) | 所属类型(汇编作业)

[2008-04-07 09:48] 关于POP出栈指令的一个问题

点击查看原图
如图所示,栈空间为10000H~1000FH,栈中有两个元素“0123H”和“2266H”,书上说:“元素‘2266H’出栈后,在1000CH处‘2266H’任然存在,但是它已不在栈中”
我对这句话不太理解,如果说‘2266H’不在栈中,是不是意味着1000CH~1000DH内存单元不再是栈中的字单元?那么这个时候的栈空间是多少,为什么?还是1000CH~1000FH么?为什么?...
阅读全文 | 评论次数(3) | 浏览次数(690) | 所属类型(默认类型)

[2008-04-07 09:04] 检测点3.1(2)

点击查看原图
各寄存器初始值:CS=2000H,IP=0,DS=1000H,AX=0,BX=0;
1> CPU执行的指令序列
mov ax,6622H (指令长度:3字节)
jmp 0ff0:0100(指令长度:5字节)
mov ax,2000H (指令长度:3字节)
mov ds,ax    (指令长度:2字节)
mov ax,[0008](指令长度:3字节)
mov ax,[0002](指令长度:3字节)

2> CPU执行每条指令后,CS、IP和相关寄存器中的数值如下:
                       
                               ...
阅读全文 | 评论次数(4) | 浏览次数(697) | 所属类型(汇编作业)
『 查看更多文章 』