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

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
  •  前面是悬崖,闭着眼跳下去是很痛苦的,但在跳的过程中学会长出翅膀飞翔却是最幸福的!
  • 『姓名』:heihei              
  • 『性别』:男    『发送消息
  • 个人说明:我想成为幸福的人
  • 详细信息『加为好友』
学习动态
友情链接

[2008-05-08 23:46] 检测10.4

下面程序执行后,AX值是多少

内存地址           机器码              汇编指令

1000:0           b8 00 00         mov ax,6
1000:2           ff d0            call ax
1000:5           40               inc ax
1000:6                            mov bp, sp
                                  add ax,[bp]

分析:CALL 16位寄存器,先将I...
阅读全文 | 评论次数(2) | 浏览次数(1122) | 所属类型(汇编作业)

[2008-05-08 23:07] 检测10.3

下面程序执行后,AX的值是多少

内存地址         机器码              汇编指令

1000:0         b8 00 00          mov ax,0
1000:3         9a 09 00 00 10    call far ptr s
1000:8         40                inc ax
1000:9         58              s:pop ax
                                 add ax,ax
                         ...
阅读全文 | 评论次数(1) | 浏览次数(926) | 所属类型(汇编作业)

[2008-05-08 22:59] 检测10.2

下面程序执行后AX的值是多少

内存地址      机器码           汇编指令
1000:0      b8 00 00       mov ax,0
1000:3      e8 01 00       call s
1000:6      40             inc ax
1000:7      58            s:pop ax

分析:CALL 标号指令在跳转到标号前会有一个IP入栈的操作,也就是说把IP入栈后在跳转到S处执行,入栈时IP=6,S标号处的功能是将出栈的值存入AX,也就是这个时候AX=6...
阅读全文 | 评论次数(1) | 浏览次数(871) | 所属类型(汇编作业)

[2008-05-08 22:51] 检测10.1

补全程序,实现从内存1000:0000处开始执行命令

assume cs:code
stack segment
db 16 dup(0)
stack ends

code segment
start:
     mov ax,stack
     mov ss,ax
     mov sp,16
     mov ax,? 
     push ax
     mov ax,?
     push ax
     retf
code ends
end start

分析:根据题意,我们知道如果程序要从1000:0000处开始执行,那么CS=1000,I...
阅读全文 | 评论次数(1) | 浏览次数(743) | 所属类型(汇编作业)

[2008-04-14 16:00] 推荐博文 检测9.3

补全程序利用LOOP指令,实现内存2000H段内查找第一个值为0的内存单元,找到后将它的偏移地址存入到DX中
assume cs:code
code segment
  start:mov ax,2000H
        mov ds,ax
        mov bx,0
      s:mov cl,[bx]
        mov ch,0
        add cx,1      //补
        inc bx
      loop s
     ok:dec bx
        mov dx,bx
        mov ax,4c00h
  ...
阅读全文 | 评论次数(7) | 浏览次数(1479) | 所属类型(汇编作业)

[2008-04-14 13:04] 检测9.2

补全程序,利用JCXZ指令,实现内存2000H段中查找第一个值为0的内存单元,找到后将它的偏移地址存到DX当中
assume cs:code
code segment
  start:
        mov ax,2000H
        mov ds,ax
        mov bx,0
      s:mov ch,0
        mov cl,[bx]
        jcxz OK
        inc bx
        jmp short s
     OK:mov dx,bx   
        mov ax,4C00H
       ...
阅读全文 | 评论次数(4) | 浏览次数(804) | 所属类型(汇编作业)

[2008-04-14 11:52] 检测9.1

(1)程序如下:
assume cs:code,ds:data
data segment
  ?
data ends

code segment
  start:
        mov ax,data
        mov ds,ax
        mov bx,0
        jmp word ptr [bx+1]
        mov ax,4C00H
        int 21H
code ends
end start

若要使程序在执行JMP指令后,CS:IP指向程序的第一条指令,在DATA段中应该定义哪些数据?
答:jmp word ...
阅读全文 | 评论次数(7) | 浏览次数(966) | 所属类型(汇编作业)

[2008-04-06 15:36] 检测6.1

1、下面的程序实现依次用内存0:0-0:15单元中的内容改写程序中的数据,完成程序
assume cs:mycode
mycode segment
  dw 0123H,0456H,0789H,0ABCH,0DEFH,0FEDH,0CBAH,0987H
start:mov ax,0
      mov ds,ax
      mov bx,0
      mov cx,8
    s:mov ax,[bx]
      mov cs:[bx],ax
      add bx,2
    loop s
      mov ax,4C00H
      int 21H
...
阅读全文 | 评论次数(2) | 浏览次数(626) | 所属类型(汇编作业)

[2008-03-26 22:49] 检测点3.2

1、逆序拷贝的问题
   mov ax,1000H
   mov ds,ax
   mov ax,2000H --要求补入部分
   mov ss,ax    --同上
   mov sp,10H   --同上
   push [0]
   push [2]
   push [4]
   push [6]
   push [B]
   push [A]
   push [C]
   push [E]

PS:其实如果此题没有限定什么语句的话,解题方法是很多的,比如可以把左右2个段看成2个栈段,左边做POP操作,右边做PUSH操作等。呵呵


2、补全下面程序...
阅读全文 | 评论次数(3) | 浏览次数(408) | 所属类型(汇编作业)

[2008-03-26 21:57] 检测点3.1(2)

各寄存器的初始值:CS=2000H,IP=0,DS=1000H,AX=0,BX=0

1、写出CPU执行指令的序列 (顺序为从上到下)
   MOV AX,6622H   此时CS=2000H,IP=3
   JMP 0FF0:0100  此步有些特殊,主要是IP的变化,这里IP会有2次变化,第一次在读到这条指令时(在执行之前)IP会变成3+5=8,在执行完后IP又变成0100 CS=0FF0
   通过上面的跳转指令执行后CS和IP都指向了新的目标地址,那就是1000H
   MOV AX,2000H   IP=3
   MOV DS,AX      此处是将数据段地址初始为2...
阅读全文 | 评论次数(3) | 浏览次数(422) | 所属类型(汇编作业)
页码数(2):  1  2