检测点 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)...
[2023-06-27 13:19] 第10章 检测点 10.4
阅读全文 |
评论次数(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
...
下面的程序执行后,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 指令,...
下面的程序执行后,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...
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)。
另外,必需在程序未尾,能够通过一定的手段判断出“程...
补全程序,利用 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,...
补全程序,利用 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...
(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
...
(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 ...
(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...
(一)
在 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) |
所属类型(汇编作业)