assume cs:code
x segment
dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
x ends
y segment
dw 0,0,0,0,0,0,0,0
y ends
code segment
start: mov ax,x ;set ds = x
mov ds,ax
mov ax,y ;set ss = y, sp = 8
mov ss,ax
mov sp,10h
mov bx,0
mov cx,8 ;set cx = 8
s: mov ax,ds:[bx]
...
[2012-11-02 14:37] 实验5 (6)
阅读全文 |
评论次数(1) |
浏览次数(270) |
所属类型(汇编作业)
[2012-11-02 12:05] 实验5 (5)
assume cs:code
aseg segment
db 1,2,3,4,5,6,7,8
aseg ends
bseg segment
db 1,2,3,4,5,6,7,8
bseg ends
cseg segment
db 0,0,0,0,0,0,0,0
cseg ends
code segment
start: mov ax,aseg
mov ds,ax
mov ax,bseg
mov es,ax
mov ax,cseg
mov ss,ax
mov ax,0
mov bx,0
mov cx,8
...
aseg segment
db 1,2,3,4,5,6,7,8
aseg ends
bseg segment
db 1,2,3,4,5,6,7,8
bseg ends
cseg segment
db 0,0,0,0,0,0,0,0
cseg ends
code segment
start: mov ax,aseg
mov ds,ax
mov ax,bseg
mov es,ax
mov ax,cseg
mov ss,ax
mov ax,0
mov bx,0
mov cx,8
...
阅读全文 |
评论次数(1) |
浏览次数(320) |
所属类型(汇编作业)
[2012-11-02 09:56] 检测点(6.1)
(1)下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,完成程序:
assume cs:code
code 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)
(mov cs:[bx],ax)
add bx,2
loop s
mov ax,4c00h
int 21h
code ends
en...
assume cs:code
code 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)
(mov cs:[bx],ax)
add bx,2
loop s
mov ax,4c00h
int 21h
code ends
en...
阅读全文 |
评论次数(1) |
浏览次数(334) |
所属类型(汇编作业)
[2012-11-02 09:34] 实验4
(1)(2)编程,向内存 0:200~0:23f依次传送数据 0~3fh
assume cs:code
code segment
mov ax,20h
mov ds,ax
// mov cx,3fh
mov cx,40h
mov bx,0
c: mov [bx],bl
inc bx
loop c
mov ax,4c00h
int 21h
code ends
end
(3)下面的程序的功能是将 mov ax,4c00H 之前的指令复制到内存 0:200 处,补全程序.上机调试,跟踪运行结果.
assume cs:code
code ...
assume cs:code
code segment
mov ax,20h
mov ds,ax
// mov cx,3fh
mov cx,40h
mov bx,0
c: mov [bx],bl
inc bx
loop c
mov ax,4c00h
int 21h
code ends
end
(3)下面的程序的功能是将 mov ax,4c00H 之前的指令复制到内存 0:200 处,补全程序.上机调试,跟踪运行结果.
assume cs:code
code ...
阅读全文 |
评论次数(1) |
浏览次数(396) |
所属类型(汇编作业)
[2012-11-01 15:25] 检测点(3.2)
(1)补全下面的和序,使其可以将10000H~1000FH中的8个字,逆序复制到20000H~2000FH中.逆序复制的含义如图所示
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 ...
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 ...
阅读全文 |
评论次数(2) |
浏览次数(354) |
所属类型(汇编作业)
[2012-11-01 14:14] 检测点(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=(2662) //ds = 0001:0000 ea=00010;
mov bx,[0001] bx=(e626)...
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=(2662) //ds = 0001:0000 ea=00010;
mov bx,[0001] bx=(e626)...
阅读全文 |
评论次数(2) |
浏览次数(323) |
所属类型(汇编作业)
[2012-11-01 10:43] 检测点(2.3)
下面的 3条指令执行后,CPU 几次修改IP?都是在什么时候?最后IP中的值是多少?
mov ax,bx //1 mov 之前 改变
sub ax,ax //2 sub 之前改变
jmp ax //3 jmp 之前改变
//4 jmp 后改变 IP = 0...
mov ax,bx //1 mov 之前 改变
sub ax,ax //2 sub 之前改变
jmp ax //3 jmp 之前改变
//4 jmp 后改变 IP = 0...
阅读全文 |
评论次数(1) |
浏览次数(266) |
所属类型(汇编作业)
[2012-11-01 10:37] 检测点(2.2)
(1)给定段地址为0001H,仅通过变化偏移地址寻址,CPU 的寻址范围为 (00010H)到(1000F)
// 0001:0000 - 0001:FFFF
(2)有一数据存放在内存 20000H 单元中,现给定段地址为SA,若想用偏移地址寻到此单元.则SA应满足的条件是:最小为(1001H ),最大为( 2000H )。
// 2000:0000 1001:ffff
// SA:0000 = 段最大
// SA:FFFF = 段最小
// SA*16 + offset = EA
// SA = EA/16 - offset/16
当 SA 不在 取值范围时...
// 0001:0000 - 0001:FFFF
(2)有一数据存放在内存 20000H 单元中,现给定段地址为SA,若想用偏移地址寻到此单元.则SA应满足的条件是:最小为(1001H ),最大为( 2000H )。
// 2000:0000 1001:ffff
// SA:0000 = 段最大
// SA:FFFF = 段最小
// SA*16 + offset = EA
// SA = EA/16 - offset/16
当 SA 不在 取值范围时...
阅读全文 |
评论次数(1) |
浏览次数(337) |
所属类型(汇编作业)
[2012-11-01 10:09] 检测点(2.1)
(1) 写出每条指令执行后相关寄存器中的值
mov ax,62627 AX =( F4A3H )
mov ah,31H AX =( 31A3H )
//mov al,23H AX =( 3223H ) 错了 对下面有影响,下面对应的改了~
mov al,23H AX =( 3123H )
add ax,ax AX =( 6246H )
mov bx,826CH BX=( 826CH )
mov cx,ax CX=( 6246H )
mov ax,bx AX=( 826CH )
add ax,bx AX=( 04D8H )
mov al,bh AX=( 0482H ...
mov ax,62627 AX =( F4A3H )
mov ah,31H AX =( 31A3H )
//mov al,23H AX =( 3223H ) 错了 对下面有影响,下面对应的改了~
mov al,23H AX =( 3123H )
add ax,ax AX =( 6246H )
mov bx,826CH BX=( 826CH )
mov cx,ax CX=( 6246H )
mov ax,bx AX=( 826CH )
add ax,bx AX=( 04D8H )
mov al,bh AX=( 0482H ...
阅读全文 |
评论次数(2) |
浏览次数(335) |
所属类型(汇编作业)
[2012-10-31 08:52] 检测点(1.11)
1. 1个CPU的寻址能力为8KB,那么它的地址总线的宽度为(13)
2. 1KB的存储器有(1024)个存储单元。存储单元的编号从 0 -- 1023。
3。1KB的存储器可以存储(8192)bit,(1024)个Byte.
4.1GB,1MB,1KB分别是 2^30 , 2^20 , 2^10
5.8086,8088,80286,80386的地址总线宽度分别为16跟,20根,24根,32根,则他们的寻找能力分别为(64)KB,(1)MB,(16)MB,(4)GB。
6。8080,8088,8086,80286,80386的数据总线宽度分别为8跟,8根,16根,16根,32根。则它...
2. 1KB的存储器有(1024)个存储单元。存储单元的编号从 0 -- 1023。
3。1KB的存储器可以存储(8192)bit,(1024)个Byte.
4.1GB,1MB,1KB分别是 2^30 , 2^20 , 2^10
5.8086,8088,80286,80386的地址总线宽度分别为16跟,20根,24根,32根,则他们的寻找能力分别为(64)KB,(1)MB,(16)MB,(4)GB。
6。8080,8088,8086,80286,80386的数据总线宽度分别为8跟,8根,16根,16根,32根。则它...
阅读全文 |
评论次数(2) |
浏览次数(287) |
所属类型(汇编作业)