


- [游客] 咬着牙坚持吧~~~! 04/10 15:52
- [wuerlang] 同情中...... 03/25 15:54
- [pirates] 累啊,啥时有时间学习?唉,难怪人家说“人过三十不学艺”,人到了30岁,如我等凡夫俗子,俗务缠身,很难 03/25 11:30
- [pirates] 回WDM:东风吹,战鼓擂,谁怕谁啊?当然对方也能放倒两个了,我被人群殴,以寡敌众当然搞不定,但我就挑 03/25 11:27
- [elfen_lied] 学习计算机 路还长啊!!!! 03/24 11:42
- [wdm] 把别人喝趴下了几次啊? 03/22 14:11
- [游客] 好好休息! 03/22 10:11
- [游客] 问个菜鸟的问题mov si,0d2h 是怎么算的?? 03/18 22:47
- [游客] 病毒原理? 应该是黑客精神更贴切一些。 03/18 15:28
- [wuerlang] 支持! 03/16 12:38
- [游客] 兄弟有QQ号码啊,我也对计算机有兴趣,但不是计算机专业的,看过你回的一贴,感觉写得很客观,很适合自学 07/20 21:31
[2008-03-13 20:33] 用7ch中断例程完成jmp near ptr s指令的功能,注意理解栈段
;安装7ch中断例程
assume cs:code
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset Int7cStart
mov ax,0
mov es,ax
mov di,0200h
cld
mov cx,offset Int7cEnd - offset Int7cStart
rep movsb ;将中断例程拷贝到0:200处
mov ax,0
mov ds,ax
mov word ptr ds:[7ch*4],0200h
mov word ptr ds:[7ch*4+2],0
...
assume cs:code
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset Int7cStart
mov ax,0
mov es,ax
mov di,0200h
cld
mov cx,offset Int7cEnd - offset Int7cStart
rep movsb ;将中断例程拷贝到0:200处
mov ax,0
mov ds,ax
mov word ptr ds:[7ch*4],0200h
mov word ptr ds:[7ch*4+2],0
...
阅读全文 |
评论次数(1) |
浏览次数(581) |
所属类型(汇编作业)
[2008-03-13 15:17]
体会病毒原理,编写int0除法溢出处理程序
编写int0除法溢出处理中断程序
程序设计思路:
编写一个0号中断处理程序,把该处理程序的段地址和偏移地址写入0号中断向量表,取代原中断处理程序,那么这个新的中断处理程序应该放在哪里呢?如果你写过dos的tsr(teminate still Resident)程序,应该知道原理的,但在这里讨论这个实在没什么意思,毕竟dos已经过时了,我们只要知道原理就行了,没有必要再深究.这里为了简单起见,王爽老师告诉我们了,0:200h-0:300h是一段安全的空间,我们新的处理程序就放在这里好了.
主程序的作用是将新的中断程序拷贝至0:200处,然后改写向量表,使之指向我们的中断处理程序并返回...
程序设计思路:
编写一个0号中断处理程序,把该处理程序的段地址和偏移地址写入0号中断向量表,取代原中断处理程序,那么这个新的中断处理程序应该放在哪里呢?如果你写过dos的tsr(teminate still Resident)程序,应该知道原理的,但在这里讨论这个实在没什么意思,毕竟dos已经过时了,我们只要知道原理就行了,没有必要再深究.这里为了简单起见,王爽老师告诉我们了,0:200h-0:300h是一段安全的空间,我们新的处理程序就放在这里好了.
主程序的作用是将新的中断程序拷贝至0:200处,然后改写向量表,使之指向我们的中断处理程序并返回...
阅读全文 |
评论次数(4) |
浏览次数(1847) |
所属类型(汇编作业)
[2008-03-12 21:32] 实验11:将一个以0结尾的含任意字符的字符串里的小写全部转变位大写字母
assume cs:code
data segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
data ends
code segment
begin:
mov ax,data
mov ds,ax
mov si,0
call letterc
mov ax,4c00h
int 21h
;*************************************************************
;子程序letterc
;将以0结尾的字符串中的小写...
data segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
data ends
code segment
begin:
mov ax,data
mov ds,ax
mov si,0
call letterc
mov ax,4c00h
int 21h
;*************************************************************
;子程序letterc
;将以0结尾的字符串中的小写...
阅读全文 |
评论次数(2) |
浏览次数(633) |
所属类型(汇编作业)
[2008-03-10 13:38] 又被出题的老师忽悠了(谢谢老师,呵呵),下次一定得注意!
mov dx,0
mov ax,1001
mov bx,100
div bl
以上四条指令执行完后,ah值是_____。
1、 1
2、 10
3、 1001
4、 0
自己对div指令理解不够透彻,这里的除数是bl,8位寄存器,所以这里做的是8位除法,被除数放在ax中,做除法后,商放在al中,ah中放的是余数,这里是1
如果这里是div bx,那么做的就是16位除法,被除数的高16位放在dx中(这里dx=0),被除数的低16位放在ax中,做除法后,商放在ax中,余数放在dx中,那么结果就是ax=1...
mov ax,1001
mov bx,100
div bl
以上四条指令执行完后,ah值是_____。
1、 1
2、 10
3、 1001
4、 0
自己对div指令理解不够透彻,这里的除数是bl,8位寄存器,所以这里做的是8位除法,被除数放在ax中,做除法后,商放在al中,ah中放的是余数,这里是1
如果这里是div bx,那么做的就是16位除法,被除数的高16位放在dx中(这里dx=0),被除数的低16位放在ax中,做除法后,商放在ax中,余数放在dx中,那么结果就是ax=1...
阅读全文 |
评论次数(1) |
浏览次数(670) |
所属类型(汇编作业)
[2008-03-10 12:51] 实验10.3 在屏幕上将data段中的数据以10进制的形式显示出来
assume cs:code
data segment
db 10 dup (0)
data ends
code segment
start:
mov ax,12660
mov bx,data
mov ds,bx
mov si,0
call dtoc
mov dh,8
mov dl,3
mov cl,2
call show_str
mov ax,4c00h
int 21h
dtoc:
push ax
push bx
push cx
push dx
push bp
push si ...
data segment
db 10 dup (0)
data ends
code segment
start:
mov ax,12660
mov bx,data
mov ds,bx
mov si,0
call dtoc
mov dh,8
mov dl,3
mov cl,2
call show_str
mov ax,4c00h
int 21h
dtoc:
push ax
push bx
push cx
push dx
push bp
push si ...
阅读全文 |
评论次数(3) |
浏览次数(770) |
所属类型(汇编作业)
[2008-03-09 16:59] 实验10.2 解决除法溢出的问题
assume cs:code
stack segment
dw 16 dup (0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,32
mov ax,4240h
mov dx,000fh
mov cx,0ah
call divdw
mov ax,4c00h
int 21h
;********************************************************************...
stack segment
dw 16 dup (0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,32
mov ax,4240h
mov dx,000fh
mov cx,0ah
call divdw
mov ax,4c00h
int 21h
;********************************************************************...
阅读全文 |
评论次数(2) |
浏览次数(711) |
所属类型(汇编作业)
[2008-03-09 15:39] 实验10.1:在屏幕上指定位置显示字符串
assume cs:code
data segment
db 'welcome to masm!',0
data ends
stack segment
dw 16 dup (0)
stack ends
code segment
start:
mov dh,8
mov dl,3
mov cl,2
mov ax,data
mov ds,ax
mov si,0
mov ax,stack
mov ss,ax
mov sp,32;sp每次减2或是加2,这里是16个字,所以sp应定义为...
data segment
db 'welcome to masm!',0
data ends
stack segment
dw 16 dup (0)
stack ends
code segment
start:
mov dh,8
mov dl,3
mov cl,2
mov ax,data
mov ds,ax
mov si,0
mov ax,stack
mov ss,ax
mov sp,32;sp每次减2或是加2,这里是16个字,所以sp应定义为...
阅读全文 |
评论次数(3) |
浏览次数(389) |
所属类型(汇编作业)
[2008-03-09 13:40] 实验六:将每个单词的前四个字母改为大写
assume cs:code
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
data segment
db '1. display '
db '2. browse '
db '3. replace '
db '4. modify '
data ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ...
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
data segment
db '1. display '
db '2. browse '
db '3. replace '
db '4. modify '
data ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ...
阅读全文 |
评论次数(1) |
浏览次数(315) |
所属类型(汇编作业)
[2008-03-09 11:33] 第六章:用push指令将a段中的word数据,逆序存储到b段中
assume cs:code
a segment
dw 1,2,3,4,5,6,7,8
a ends
b segment
dw 0,0,0,0,0,0,0,0
b ends
code segment
start:
mov ax,a
mov ds,ax
mov ax,b
mov ss,ax
mov sp,16
mov bx,0
mov cx,8
s:
mov ax,ds:[bx]
push ax
inc bx
inc bx
loop s
mov ax,04c00h
int 021h
code ends
end start...
a segment
dw 1,2,3,4,5,6,7,8
a ends
b segment
dw 0,0,0,0,0,0,0,0
b ends
code segment
start:
mov ax,a
mov ds,ax
mov ax,b
mov ss,ax
mov sp,16
mov bx,0
mov cx,8
s:
mov ax,ds:[bx]
push ax
inc bx
inc bx
loop s
mov ax,04c00h
int 021h
code ends
end start...
阅读全文 |
评论次数(1) |
浏览次数(375) |
所属类型(汇编作业)
[2008-03-09 11:07] 第六章 将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,a
mov es,ax
mov ax,b
mov ss,ax
mov ax,c
mov ds,ax
mov bx,0
mov cx,8
s:
mov al,es:[bx]
mov dl,ss:[bx]
add al,dl
m...
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,a
mov es,ax
mov ax,b
mov ss,ax
mov ax,c
mov ds,ax
mov bx,0
mov cx,8
s:
mov al,es:[bx]
mov dl,ss:[bx]
add al,dl
m...
阅读全文 |
评论次数(2) |
浏览次数(331) |
所属类型(汇编作业)