assume cs:code,ds:data
data segment
db 'Welcome to masm!',0
data ends
stack segment
db 16 dup(0)
stack ends
code segment
start:mov dh,0 ;行号(取值范围 0~24)
mov dl,0 ;列号(取值范围 0~79)
mov cl,03h ;颜色
mov ax,stack
mov ss,ax
mov sp,10h
m...
- [游客] 恩。没问题。 07/05 18:34
- [游客] 把给出的数据当做栈的处理方式,第一次看到。 博主挺个的啊。 顶了~~~ 05/28 16:46
- [mywiil] 关于实验任务2,提前知道中断过程会使用当前栈空间来存放一些cpu运行现场的寄存器值就行了,后面章节会 04/25 21:01
- [游客] www/a 04/20 11:14
[2010-07-12 21:47] 实验十(1、显示字符串)
阅读全文 |
评论次数(0) |
浏览次数(468) |
所属类型(汇编作业)
[2010-07-02 17:39] 检测点 10.5(2)
(2) 下面的程序执行后,ax和bx中的数值为多少?
assume cs:code
data segment
dw 8 dup(0)
data ends
code segment
start:mov ax,data
mov ss,ax
mov sp,16
mov word ptr ss:[0],offset s
mov ss:[2],cs
call dword ptr ss:[0]
nop
s:mov ax,offset s
sub ax,ss:[0ch] ;(ax)=(S)-(S-1)=1
mov bx,cs
...
assume cs:code
data segment
dw 8 dup(0)
data ends
code segment
start:mov ax,data
mov ss,ax
mov sp,16
mov word ptr ss:[0],offset s
mov ss:[2],cs
call dword ptr ss:[0]
nop
s:mov ax,offset s
sub ax,ss:[0ch] ;(ax)=(S)-(S-1)=1
mov bx,cs
...
阅读全文 |
评论次数(1) |
浏览次数(631) |
所属类型(汇编作业)
[2010-06-18 18:37] 实验 9
实验9 根据材料编程(第175页)
-------------------------------
assume cs:code,es:data,ss:xh
data segment
db 'x i a o h a o !!' ;定义字符串(本人大名)
db 02h,24h,71h ;定义三种颜色属性
data ends
xh segment
dw 8 dup(0)
xh ends ;定义栈作参数传递
---------------------------------
code segment
start:mov ax,da...
-------------------------------
assume cs:code,es:data,ss:xh
data segment
db 'x i a o h a o !!' ;定义字符串(本人大名)
db 02h,24h,71h ;定义三种颜色属性
data ends
xh segment
dw 8 dup(0)
xh ends ;定义栈作参数传递
---------------------------------
code segment
start:mov ax,da...
阅读全文 |
评论次数(0) |
浏览次数(525) |
所属类型(汇编作业)
[2010-06-18 14:50] 检测点 9.2
补全程序,利用jcxz 指令,实现在内存2000H 段中查找第一个值为零的字节,找到后,将
它的偏移地址储存在dx中。
assume cs:code
code segment
start:mov ax,2000H
mov ds,ax
mov bx,0
s:mov cl,[bx] ;主意是字节操作
mov ch,0 ;(cx)=([bx])
jcxz ok ; if{(cx)==0} jmp short ok;
inc bx
jmp short s
ok:mov dx,bx
mov ax,4c00h ...
它的偏移地址储存在dx中。
assume cs:code
code segment
start:mov ax,2000H
mov ds,ax
mov bx,0
s:mov cl,[bx] ;主意是字节操作
mov ch,0 ;(cx)=([bx])
jcxz ok ; if{(cx)==0} jmp short ok;
inc bx
jmp short s
ok:mov dx,bx
mov ax,4c00h ...
阅读全文 |
评论次数(0) |
浏览次数(467) |
所属类型(汇编作业)
[2010-05-28 15:10] 实验 7 寻址方式在结构化数据访问中的应用
assume cs:codesg,ss:data,ds:table
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年的21个字符串
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514 ...
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年的21个字符串
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514 ...
阅读全文 |
评论次数(1) |
浏览次数(678) |
所属类型(汇编作业)
[2010-05-14 19:12] 检测点 9.1
(1)若要使jmp指令执行后,CS:IP指向程序的第一条指令,在data段中应该定义哪些数据?
完整程序如下:
assume cs:code,ds:data
data segment
db 0,0,0
data ends
code segment
start: mov ax,data
mov ds,ax
mov bx,0
jmp word ptr [bx+1] ;段内转移
code ends
end start
;为了使IP的值经跳转后变为0,则需保证ds:[bx+1]处的字型单元数据为0000H,
;所...
完整程序如下:
assume cs:code,ds:data
data segment
db 0,0,0
data ends
code segment
start: mov ax,data
mov ds,ax
mov bx,0
jmp word ptr [bx+1] ;段内转移
code ends
end start
;为了使IP的值经跳转后变为0,则需保证ds:[bx+1]处的字型单元数据为0000H,
;所...
阅读全文 |
评论次数(0) |
浏览次数(512) |
所属类型(汇编作业)
[2010-04-26 03:17] 实验 4
(1)
(2) 编程,向内存 0:200~0:23F 依次传送数据 0~63(3FH),程序中只能使用9条指令。
assume cs:xh
xh segment
mov ax,20h
mov ds,ax ;设置数据段地址
mov bx,0
mov cx,64 ;初始化循环变量、偏移地址
s:mov ds:[bx],bx ;((ds)*16+bx)=(bx)
inc bx ; (bx)=(bx)+1
loop s
mov ax,4c00h
int 21h
xh ends
end ;ps:不明白为什么不能用...
(2) 编程,向内存 0:200~0:23F 依次传送数据 0~63(3FH),程序中只能使用9条指令。
assume cs:xh
xh segment
mov ax,20h
mov ds,ax ;设置数据段地址
mov bx,0
mov cx,64 ;初始化循环变量、偏移地址
s:mov ds:[bx],bx ;((ds)*16+bx)=(bx)
inc bx ; (bx)=(bx)+1
loop s
mov ax,4c00h
int 21h
xh ends
end ;ps:不明白为什么不能用...
阅读全文 |
评论次数(0) |
浏览次数(540) |
所属类型(汇编作业)
[2010-04-22 18:27] 检测点 3.2 & 实验二
(1) 补全下面的程序,使其可以将 10000H~1000FH 中的8个字,逆序复制到20000H~2000FH 中。逆序复制的含义如图 3.17 所示
mov ax,1000H
mov ds,ax
mov ax,2000H
mov ss,ax
mov sp,0010H
push [0]
push [2]
push [4]
push [6]
push [8]
push [a]
push [c]
push [e]
(2) 补全下面的程序,使其可以将 10000H~1000FH 中的8个字,逆序复制到20000H~2000FH中
mov ax,2000H ...
mov ax,1000H
mov ds,ax
mov ax,2000H
mov ss,ax
mov sp,0010H
push [0]
push [2]
push [4]
push [6]
push [8]
push [a]
push [c]
push [e]
(2) 补全下面的程序,使其可以将 10000H~1000FH 中的8个字,逆序复制到20000H~2000FH中
mov ax,2000H ...
阅读全文 |
评论次数(1) |
浏览次数(775) |
所属类型(汇编作业)
[2010-04-18 23:44] 检测点 3.1
(1) 在Debug中,用“d 0:0 1f”查看内存,结果如下。
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88
下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完成后相关寄存器中的值
mov ax,1
mov ds,ax
mov ax,[0000] ---> AX=2662H
MOV BX,[0001] ---> BX=E626H
MOV AX,BX --...
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88
下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完成后相关寄存器中的值
mov ax,1
mov ds,ax
mov ax,[0000] ---> AX=2662H
MOV BX,[0001] ---> BX=E626H
MOV AX,BX --...
阅读全文 |
评论次数(1) |
浏览次数(697) |
所属类型(汇编作业)
[2010-04-16 18:06] 检测点 2.2
(1)给定段地址为0001H,仅通过变化偏移地址寻址,cpu的寻址范
围为 0010H 到 FFFFH
(2)有一数据存放在内存 20000H 单元中,给定段地址为 SA,若想
用偏移地址寻此单元。则 SA 应满足的条件是:最小为 1001H 最
大为 2000H
因为:SA*16+FFFFH=20000H ---》SA最小
SA*16+0000H=20000H ---》SA最大
请大侠指点!!!...
围为 0010H 到 FFFFH
(2)有一数据存放在内存 20000H 单元中,给定段地址为 SA,若想
用偏移地址寻此单元。则 SA 应满足的条件是:最小为 1001H 最
大为 2000H
因为:SA*16+FFFFH=20000H ---》SA最小
SA*16+0000H=20000H ---》SA最大
请大侠指点!!!...
阅读全文 |
评论次数(0) |
浏览次数(536) |
所属类型(汇编作业)
『 查看更多文章 』