(1)ffh=255
(2)
assume cs:code
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset sqr
mov ax,0
mov es,ax
mov di,200h
mov cx,offset sqrend - offset sqr
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],200h
mov word ptr es:[7ch*4+2],0
mov ax,4c00h
int 21h
s...


- [游客] 以前遇到过。看了讲解,明白不少。 如果我们把断点设置到int 21以后就没事了? 04/09 12:48
- [游客] 这样的问题还是发到论坛好,在这里很容易就被埋没了,嘿嘿~ 12/26 15:17
- [游客] debug下默认是16进制的,也就是说用a命令输入mov ax,354 ,结果变成ax=3 12/26 15:14
- [游客] 支持。 12/22 21:21
- [游客] 博主厉害。 12/22 21:18
- [游客] 博主的第一小题有问题吧。 存放位移的为一个十六位寄存器,它所能表示的最大值为65535,所以最大转 12/22 21:15
- [游客] 检测点11.2 add al,80h ;cf=1,of=1,sf=1,zf=1,pf=1 12/22 20:50
- [mouse] 我前两天也调了半天才把这个弄出来,还费了半天劲精简,我看博主的代码也是可以再精简点的~ 12/22 20:36
- [mouse] 写的真好,我的还没做出来呢 呜呜~~ 12/22 20:33
- [游客] 书上的代码基本都全了,没有问题,自己可以验证后把结果也贴上来~_~ 12/22 20:27
[2007-11-26 22:11] 检测点13.1
阅读全文 |
评论次数(2) |
浏览次数(997) |
所属类型(汇编作业)
[2007-11-22 22:34] 检测点11.1,11.2,11.3,11.4
检测点11.1
sub al, al ;zf=1,pf=1,sf=0
mov al,1; zf=1,pf=1,sf=0
push ax ;zf=1,pf=1,sf=0
pop bx ;zf=1,pf=1,sf=0
add al,bl ;zf=0,pf=0,sf=0
add al,10 ;zf=0,pf=1,sf=0
mul al ;zf=0,pf=1,sf=0
检测点11。2
sub al,al ;cf=0,of=0,sf=0,zf=1,pf=1
mov al,10h ;cf=0,of=0,sf=0,zf=1,pf=1
a...
sub al, al ;zf=1,pf=1,sf=0
mov al,1; zf=1,pf=1,sf=0
push ax ;zf=1,pf=1,sf=0
pop bx ;zf=1,pf=1,sf=0
add al,bl ;zf=0,pf=0,sf=0
add al,10 ;zf=0,pf=1,sf=0
mul al ;zf=0,pf=1,sf=0
检测点11。2
sub al,al ;cf=0,of=0,sf=0,zf=1,pf=1
mov al,10h ;cf=0,of=0,sf=0,zf=1,pf=1
a...
阅读全文 |
评论次数(1) |
浏览次数(934) |
所属类型(汇编作业)
[2007-11-19 15:00] 课设1(疯过后,还是写出来了)
assume cs:codesg,ss:stack
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,19...
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,19...
阅读全文 |
评论次数(2) |
浏览次数(933) |
所属类型(汇编作业)
[2007-11-15 18:28] 检测点10.1,10.2,10.3,10.4,10.5
检测点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 ;将段地址写入ax
push ax ;将段地址压栈
mov ax,0000h ;将偏移地址写入ax
push ax ...
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 ;将段地址写入ax
push ax ;将段地址压栈
mov ax,0000h ;将偏移地址写入ax
push ax ...
阅读全文 |
评论次数(3) |
浏览次数(411) |
所属类型(汇编作业)
[2007-11-13 22:15] 检测点9.1,9.2,9.3
检测点9.1
(1)
assume cs:code
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
;发现jmp word ptr [bx+1];指令的机器代码为ff6701,当我改变[bx+1]所指向的内容时,机器代码仍然没变,将[bx+1]改为[bx+3]机器代码也没变(疑惑中,难道这个j...
(1)
assume cs:code
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
;发现jmp word ptr [bx+1];指令的机器代码为ff6701,当我改变[bx+1]所指向的内容时,机器代码仍然没变,将[bx+1]改为[bx+3]机器代码也没变(疑惑中,难道这个j...
阅读全文 |
评论次数(3) |
浏览次数(389) |
所属类型(汇编作业)
[2007-11-06 21:56] 检测点6.1(已阅)
(1)
assume cs:codesg
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fdeh,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
loop s
mov ax,4c00h
int 21h
codesg ends
end start
(2)
assume cs:codesg
codesg segment
dw 0123h,0456h,07...
assume cs:codesg
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fdeh,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
loop s
mov ax,4c00h
int 21h
codesg ends
end start
(2)
assume cs:codesg
codesg segment
dw 0123h,0456h,07...
阅读全文 |
评论次数(3) |
浏览次数(404) |
所属类型(汇编作业)
[2007-11-03 10:58] 检测点3.2(已阅)
(1).
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)
mov ax,2000h
mov ds,ax
mov ax,1000h
mov ss,ax
mov sp,0000h
pop [e]
pop [c]
pop [a]
pop [8]
pop [6]
pop [4]
pop [2]
pop ...
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)
mov ax,2000h
mov ds,ax
mov ax,1000h
mov ss,ax
mov sp,0000h
pop [e]
pop [c]
pop [a]
pop [8]
pop [6]
pop [4]
pop [2]
pop ...
阅读全文 |
评论次数(1) |
浏览次数(362) |
所属类型(汇编作业)
[2007-11-01 18:58] 检测点3.1(已阅)
(1)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
mov ax,1
mov ds,ax ;ds=0001
mov ax,[0000] ax=2662h
mov bx,[0001] bx=e626h
mov ax,bx ax=e626h
mov ax,[0000] ax=2662h
mov bx,[0002] bx=d6e6h
add ax,bx...
0000:0010 62 26 e6 d6 cc 2e 3c 3b-ab ba 00 00 26 06 66 88
mov ax,1
mov ds,ax ;ds=0001
mov ax,[0000] ax=2662h
mov bx,[0001] bx=e626h
mov ax,bx ax=e626h
mov ax,[0000] ax=2662h
mov bx,[0002] bx=d6e6h
add ax,bx...
阅读全文 |
评论次数(2) |
浏览次数(327) |
所属类型(汇编作业)
[2007-10-31 20:12] 检测点2.3(已阅)
mov ax,bx
sub ax,ax ;ax中值为0000
jmp ax ;ax送入ip,ip值为0000
ip值改变4次:
第1次:读取mov ax,bx后
第2次:读取sub ax,ax后
第3次;读取jmp ax后
第4次:执行jmp ax后
(书上介绍ip在cup读取指令后就改变,但用debug单步执行时,只能看到3次ip变化,不能验证ip是在指令读取就改变,还是执行后才改变)...
sub ax,ax ;ax中值为0000
jmp ax ;ax送入ip,ip值为0000
ip值改变4次:
第1次:读取mov ax,bx后
第2次:读取sub ax,ax后
第3次;读取jmp ax后
第4次:执行jmp ax后
(书上介绍ip在cup读取指令后就改变,但用debug单步执行时,只能看到3次ip变化,不能验证ip是在指令读取就改变,还是执行后才改变)...
阅读全文 |
评论次数(2) |
浏览次数(333) |
所属类型(汇编作业)
[2007-10-24 20:43] 检测点2.2(已阅)
(1) 00010H到1000FH (0001H*16+16^4-1=1000FH)
(2) 最小1001H,最大2000H (SA=(2000H-偏移地址)/16,偏移地址范围:0000H~FFFFH,当偏移地址取0000H时,SA最大;当偏移地址取FFFFH时,SA最小=1000.1H,向上取整1001H)...
(2) 最小1001H,最大2000H (SA=(2000H-偏移地址)/16,偏移地址范围:0000H~FFFFH,当偏移地址取0000H时,SA最大;当偏移地址取FFFFH时,SA最小=1000.1H,向上取整1001H)...
阅读全文 |
评论次数(1) |
浏览次数(379) |
所属类型(汇编作业)