(1)程序如下
assume cs:code
data segment
dw 0 ;(因为bx+1,要等于0,所以第2个字节要为0)
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段中应该定义哪些数据?
(2)程序如下
assume cs:code
d...
- [qiangzi] ;(因为bx+1,要等于0,所以第2个字节要为0) 这话好像有点错误吧,是不是第2,3个字节为0啊 01/21 19:23
- [ryan1779] 是啊,后来发现写 mov [bx+2],cx 就好了 08/11 22:36
- [tinyparticle] 第(2)中有错误,mov [bx+2],0b83h此条指令中的0b83h是博主debug中的默认段地 07/31 18:22
- [ryan1779] 感谢ls几位的热心解答,总于搞出来了。 mov ax,0a8h[bx],bx出错了,又多用了个寄存 07/28 10:58
- [younggay] 上面的地址计算看明白了,是手动计算的,没什么问题。呵呵 不过,我跟踪了一下,你的程序在寻址想内 07/27 10:11
- [younggay] mov ax,0a8h[bx] =================== 怎么是0a8H的起始 07/27 09:53
- [younggay] 除法溢出,说明做运算的两个数据可能有点问题。你单步跟踪,看看到底是哪里出现溢出,看一下此时的两个数据 07/27 09:45
- [tinyparticle] mov ax,0a8h[bx] mov es:0ah[bx],ax 这里好像 07/26 20:04
- [游客] 程序第一行的assume写错了,编译出错,修改后程序运行正确。 07/20 09:37
- [ryan1779] 现在的理解是,16字节内的(包括16字节,算一个段,10H),超出16字节,但不超出32字节的,也算 07/19 15:52
[2009-07-31 17:56] 检测点9.1
阅读全文 |
评论次数(3) |
浏览次数(640) |
所属类型(汇编作业)
[2009-07-25 13:08] 实验7
哎,写了错,错了改,改了还错。现在不知道错在哪里了?请老师看看
assume cs:codesg
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'
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,19751...
assume cs:codesg
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'
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,19751...
阅读全文 |
评论次数(5) |
浏览次数(596) |
所属类型(汇编作业)
[2009-07-19 16:00] 实验6.2
tassume cs:codesg,ss:stacksg,ds:datasg
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
datasg segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
datasg ends
codesg segment
start:mov ax,stacksg
mov ss,ax
mov sp,16...
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
datasg segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
datasg ends
codesg segment
start:mov ax,stacksg
mov ss,ax
mov sp,16...
阅读全文 |
评论次数(1) |
浏览次数(602) |
所属类型(汇编作业)
[2009-07-16 17:45] 实验5.6
程序如下,编写code段中的代码,用push指令将a段中的前8个字型数据,逆序存储到b段中。
assume cs:code
a segment
dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0eh,0fh,0ffh
a ends
b segment
db 0,0,0,0,0,0,0,0
b ends
code segment
start:mov ax,b
mov ss,ax
mov sp,10h
mov ax,a
mov es,ax
m...
assume cs:code
a segment
dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0eh,0fh,0ffh
a ends
b segment
db 0,0,0,0,0,0,0,0
b ends
code segment
start:mov ax,b
mov ss,ax
mov sp,10h
mov ax,a
mov es,ax
m...
阅读全文 |
评论次数(0) |
浏览次数(365) |
所属类型(汇编作业)
[2009-07-16 17:42] 实验5.5
程序如下,编写code段中的代码,将a段和b段中的数据依次相加,将结果存到c段中。
assume cs:code
a segment
db 1,2,3,4,5,6,7,8
a ends
b segment
db 1,2,3,4,5,6,7,8
b ends
c segment
db 0,0,0,0,0,0,0,0
c ends
code segment
————————————————————————————
start:mov ax,c
mov ds,ax
mov ax,a
mov es...
assume cs:code
a segment
db 1,2,3,4,5,6,7,8
a ends
b segment
db 1,2,3,4,5,6,7,8
b ends
c segment
db 0,0,0,0,0,0,0,0
c ends
code segment
————————————————————————————
start:mov ax,c
mov ds,ax
mov ax,a
mov es...
阅读全文 |
评论次数(1) |
浏览次数(405) |
所属类型(汇编作业)
[2009-07-14 18:02] 实验5.(3),(4)
code segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
push ds:[2]
pop ds:[2]
pop ds:[0]
mov ax,4c00h
int 21h
code ends
data segment
dw 0123h,0456h
data ends
stack segment
...
start:mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
push ds:[2]
pop ds:[2]
pop ds:[0]
mov ax,4c00h
int 21h
code ends
data segment
dw 0123h,0456h
data ends
stack segment
...
阅读全文 |
评论次数(1) |
浏览次数(481) |
所属类型(汇编作业)
[2009-07-14 17:56] 实验5.2
assume cs:code,ds:data,ss:stack
data segment
dw 0123h,0456h
data ends
stack segment
dw 0,0
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
push ds:[2]
pop ds:[2]
pop ds:...
data segment
dw 0123h,0456h
data ends
stack segment
dw 0,0
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
push ds:[2]
pop ds:[2]
pop ds:...
阅读全文 |
评论次数(2) |
浏览次数(554) |
所属类型(汇编作业)
[2009-07-14 17:55] 实验5.1
5、1
assume cs:code,ds:data,ss:stack
data segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0...
assume cs:code,ds:data,ss:stack
data segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start:mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0...
阅读全文 |
评论次数(1) |
浏览次数(397) |
所属类型(汇编作业)
[2009-07-12 12:49] 检测点6.1
(1)下面的程序实现一次用内存0:0~0:15单元中的内容改写程序中的数据,完成程序:
assume cs:codesg
codesg 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
...
assume cs:codesg
codesg 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
...
阅读全文 |
评论次数(2) |
浏览次数(375) |
所属类型(汇编作业)
[2009-07-11 17:03] 实验4 (3)
assume cs:code
code segment
mov ax,code
mov ds,ax
mov ax,0020h
mov es,ax
mov bx,0
mov cx,18h
s:mov al,[bx]
mov es:[bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
结论是看了答案后,才知道的,汗。不过自己也思考了。。
第1个:code ,是因为code 是标记。代表程序加载后,首先指向的CS:I...
code segment
mov ax,code
mov ds,ax
mov ax,0020h
mov es,ax
mov bx,0
mov cx,18h
s:mov al,[bx]
mov es:[bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
结论是看了答案后,才知道的,汗。不过自己也思考了。。
第1个:code ,是因为code 是标记。代表程序加载后,首先指向的CS:I...
阅读全文 |
评论次数(1) |
浏览次数(407) |
所属类型(汇编作业)
『 查看更多文章 』