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

我的博客

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

[2023-06-27 13:19] 第10章 检测点 10.4

检测点 10.4

下面的程序执行后,ax 中的数值为多少?

内存地址    机器码      汇编指令
1000:0     B8 06 00    mov ax,6
1000:3     ff d0      call ax
1000:5     40        inc ax
1000:6              mov bp,sp
                 add ax,[bp]

程序执行过程如下:
1. 在 IP=0 处读取 mov ax,0 指令,由于该指令占用 3 个字节,所以执行 (IP)=(IP)+3=3,然后执行该指令,于是 (ax)...
阅读全文 | 评论次数(0) | 浏览次数(155) | 所属类型(汇编作业)

[2023-06-27 12:14] 第10章 检测点 10.3

检测点 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
                         pop bx
               ...
阅读全文 | 评论次数(0) | 浏览次数(117) | 所属类型(汇编作业)

[2023-06-27 11:11] 第10章 检测点 10.2

检测点 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

程序执行过程如下:
1. 在 IP=0 处读取 mov ax,0 指令,由于该指令占用 3 个字节,所以执行 (IP)=(IP)+3=3,然后执行该指令,于是 (ax)=0。
2. 在 IP=3 处读取 call s 指令,...
阅读全文 | 评论次数(0) | 浏览次数(120) | 所属类型(汇编作业)

[2023-06-26 16:03] 第10章 检测点 10.1

检测点 10.1

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,1000h  ; 填数字 1000H
      push ax
      mov ax,0    ; 填数字 0
      push ax
      retf

code ends

end start...
阅读全文 | 评论次数(0) | 浏览次数(115) | 所属类型(汇编作业)

[2023-06-20 17:20] 第9章 检测点 9.3

检测点 9.3

补全程序,利用 loop 指令实现在内存 2000H 段中查找第一个值为 0 的字节;找到后,将它的偏移地址存储在 DX 寄存器中。

与检测点 9.2 一样,本题存在三个问题:
1. 当指定的 2000h 段中不存在值为 0 的字节时,程序将陷入 s 标号至“loop s”指令之间的死循环。
2. 程序在两种情况下都应该转移至 ok 标号处,这两种情况是:
(1) 当查找到首个字节值为 0 时。
(2) 当 2000h 段中不存在值为 0 的字节,并且已经查找完段中所有字节后(即 (bx)=FFFFh)。
另外,必需在程序未尾,能够通过一定的手段判断出“程...
阅读全文 | 评论次数(0) | 浏览次数(117) | 所属类型(汇编作业)

[2023-06-14 11:22] 第9章 检测点 9.2

检测点 9.2

补全程序,利用 jcxz 指令实现在内存 2000H 段中查找第一个值为 0 的字节,找到后将它的偏移地址存储在 DX 寄存器中。

assume cs:code

code segment

start:  mov ax,2000h
        mov ds,ax
        mov bx,0

s:      ________
        ________
        ________
        ________
        jmp short s

ok:  mov dx,bx

     mov ax,...
阅读全文 | 评论次数(0) | 浏览次数(112) | 所属类型(汇编作业)

[2023-06-08 23:04] 第9章 检测点 9.1

检测点 9.1

(1) 程序如下:

assume cs:code

data segment

data ends

code segment

start:  mov ax,data
        mov ds,ax
        mov bx,0
        jmp word ptr [bx+1]

code ends

end start

若要使程序中的 jmp 指令执行后,CS:IP 指向程序的第一条指令,在 data 段中应该定义哪些数据?
答:应该定义至少 3 个字节型数据,并且后两个字节型数据组合成的字数据必须为 0000...
阅读全文 | 评论次数(0) | 浏览次数(125) | 所属类型(汇编作业)

[2023-05-03 13:20] 第6章 检测点 6.1

检测点 6.1

(1) 以下程序实现依次用内存 0:0~0:15 单元中的内容改写程序中的数据。
思路:将 0000:0000~0000:0015 这 8 个字单元中的数据写入由程序 dw 指令所分配的 8 个字型单元空间中 —— 而不是将 dw 定义的 8 个字型数据存入 0000:0000~0000:0015 单元。

assume cs:codesg

codesg segment

    dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h

start: mov ax,0
       mov ds,ax
...
阅读全文 | 评论次数(0) | 浏览次数(112) | 所属类型(汇编作业)

[2023-04-18 21:25] 第3章 检测点 3.2

检测点 3.2

(1) 补全下面的程序,使其可以将10000H~1000FH中的8个字,逆序复制到20000H~2000FH中。逆序复制的含义如下表所示(表中内存里的数据均为假设)。

 地址 数据(十六进制)  地址   数据(十六进制)
10000H      23   20000H      33
10001H      01   20001H      11
10002H      66   20002H      FE
10003H      22   20003H      9A
...               ...                        
1000CH      FE ...
阅读全文 | 评论次数(0) | 浏览次数(121) | 所属类型(汇编作业)

[2023-04-16 17:21] 第3章 检测点 3.1

检测点 3.1

(一)
在 Debug 实验环境中执行以下操作:
(1) 将题目中要求的数据输入指定的 0000:0000~0000:001f 内存空间
-e 0000:0
0000:0000 00.70 00.80 00.f0 00.30 00.ef 00.60 00.30 00.e2
0000:0008 00.   00.80 00.80 00.12 00.66 00.20 00.22 00.60
0000:0010 00.62 00.26 00.e6 00.d6 00.cc 00.2e 00.3c 00.3b
0000:0018 00.ab 00.ba 00.   0...
阅读全文 | 评论次数(0) | 浏览次数(85) | 所属类型(汇编作业)
页码数(3):  1  2  3