离开汇编网的学习已经很长时间了,挺怀念的!
前段时间因为感情问题以及个人原因堕落了很长时间,现在得补回来了!
新年新气象,大学结束了,女朋友也分手了,是该重新开始了!
重新回到大家,汇编网的学习群落中!
在此衷心感谢帮助过我的那些人!
谢谢你们!祝你们新年快乐!...
- [游客] 支持博主! 06/06 19:21
- [idisblueflash] 太好了:)不过reg貌似不管用。 12/28 21:45
- [shuasus] 太谢谢了,好人啊 ! 12/28 15:52
- [qq729594750] 牛人 11/11 12:39
- [rongjian] 真的好想知道为什么这么做?为什么会是这样?真的诚心希望高手不吝赐教,指点方法 10/31 20:58
- [游客] 不错,我也要照这个来搞。 09/20 00:35
- [游客] 不错 09/18 09:28
- [bangbang_web] 加油哦 兄弟.. 05/01 17:29
- [jizha] 谢谢了,crazyman! 琐事缠身,今天才有时间到网上来看看! 03/13 12:20
- [crazyman] 一切都会过去的。 兄弟,俺比你惨。 02/03 14:36
- [jcw2008] 欢迎回到汇编网,祝你除夕快乐!Happy 牛 year! 01/25 12:58
- [jcw2008] 元旦快乐! 12/31 23:59
- [jcw2008] Merry Christmas! 12/25 01:18
- [游客] 加我的时候 请 输入数控二字 请大家多多帮忙 12/22 20:23
- [游客] 对于 你们所说的东西我是个文盲 我很想学 不过我自知不是这块料 我现在有一家小作坊 在生产一些 12/22 20:21
[2009-01-24 13:21] 沉寂了很长时间,准备重新开始!
阅读全文 |
评论次数(3) |
浏览次数(1115) |
所属类型(汇编作业)
[2008-12-17 14:33] 实验17 编写包含多个功能子程序的中断例程
;*******************************************************************
;实现一个新的int 7ch中断例程,实现通过逻辑扇区号对软盘进行读写
;ah表示功能号:0表示读,1表示写
;dx表示要读写的逻辑扇区号
;es:bx指向存储读出数据或写入数据的内存区
;*******************************************************************
assume cs:code
code segment
int7ch:
jmp int_beg
table ...
;实现一个新的int 7ch中断例程,实现通过逻辑扇区号对软盘进行读写
;ah表示功能号:0表示读,1表示写
;dx表示要读写的逻辑扇区号
;es:bx指向存储读出数据或写入数据的内存区
;*******************************************************************
assume cs:code
code segment
int7ch:
jmp int_beg
table ...
阅读全文 |
评论次数(2) |
浏览次数(812) |
所属类型(汇编作业)
[2008-12-14 20:36] 第16章试验提交
assume cs:code
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset int7ch
mov ax,0
mov es,ax
mov di,200h
mov cx,offset intend-offset int7ch
cld
rep movsb
mov word ptr es:[7ch*4],0
mov word ptr es:[7ch*4+2],20h
mov ax,4c00h
int 21h
int7ch:
jmp short int_beg
ta...
code segment
start:
mov ax,cs
mov ds,ax
mov si,offset int7ch
mov ax,0
mov es,ax
mov di,200h
mov cx,offset intend-offset int7ch
cld
rep movsb
mov word ptr es:[7ch*4],0
mov word ptr es:[7ch*4+2],20h
mov ax,4c00h
int 21h
int7ch:
jmp short int_beg
ta...
阅读全文 |
评论次数(1) |
浏览次数(738) |
所属类型(汇编作业)
[2008-12-14 14:45] 检测点16.1 提交+ 标号用法小结
将code段中a处的8个数据累加,结果存储到b处的dword中,补全程序。
assume cs:code
code segment
a dw 1,2,3,4,5,6,7,8
b dd 0
start:
mov si,0
mov cx,8
s: mov ax,a[si]
add b[0],ax ;..............(1)
adc b[2],0 ;..............(2)
add si,2
loop s
mov ax,4c00h
int 21h
code ends
end start
可以将(1)(2)处改为
a...
assume cs:code
code segment
a dw 1,2,3,4,5,6,7,8
b dd 0
start:
mov si,0
mov cx,8
s: mov ax,a[si]
add b[0],ax ;..............(1)
adc b[2],0 ;..............(2)
add si,2
loop s
mov ax,4c00h
int 21h
code ends
end start
可以将(1)(2)处改为
a...
阅读全文 |
评论次数(3) |
浏览次数(920) |
所属类型(汇编作业)
[2008-12-11 21:00] 第15章试验提交 请求老师指点
assume cs:code
stack segment
db 128 dup(0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,128
push cs
pop ds
mov ax,0
mov es,ax
mov si,offset int9
mov di,204h
mov cx,offset int9end-offset int9
cld
rep movsb
push es:[9*4]
pop es:[200h]
push e...
stack segment
db 128 dup(0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,128
push cs
pop ds
mov ax,0
mov es,ax
mov si,offset int9
mov di,204h
mov cx,offset int9end-offset int9
cld
rep movsb
push es:[9*4]
pop es:[200h]
push e...
阅读全文 |
评论次数(1) |
浏览次数(797) |
所属类型(汇编作业)
[2008-12-11 20:51] 第15章检测点提交 请求老师指点
检测点15.1
(1)
程序段
pushf
pushf
pop ax
and ah,11111100b
push ax
popf
call dword ptr ds:[0]
可以精简为
pushf
call dword ptr ds:[0]
(2)
有潜在错误的程序段是
mov word ptr es:[9*4],offset int9
mov es:[9*4+2],cs
和
push ds:[0]
pop es:[9*4]
push ds:[2]
pop es:[9*4+2]
改正方法:
分别在他们前面加上cli,后面加上sti就可以了!...
(1)
程序段
pushf
pushf
pop ax
and ah,11111100b
push ax
popf
call dword ptr ds:[0]
可以精简为
pushf
call dword ptr ds:[0]
(2)
有潜在错误的程序段是
mov word ptr es:[9*4],offset int9
mov es:[9*4+2],cs
和
push ds:[0]
pop es:[9*4]
push ds:[2]
pop es:[9*4+2]
改正方法:
分别在他们前面加上cli,后面加上sti就可以了!...
阅读全文 |
评论次数(1) |
浏览次数(456) |
所属类型(汇编作业)
[2008-12-10 10:24] 试验14提交 请求老师指点(两种方法实现)
试验14 访问cmos ram
编程:以“年/月/日 时:分:秒”的格式,显示当前的日期和时间
第一种方法:
源代码如下:
assume cs:code
data segment
db 9,8,7,4,2,0
db 17 dup(0),0
data ends
stack segment
db 16 dup(0)
stack ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,16
mov si,6
call getdate
...
编程:以“年/月/日 时:分:秒”的格式,显示当前的日期和时间
第一种方法:
源代码如下:
assume cs:code
data segment
db 9,8,7,4,2,0
db 17 dup(0),0
data ends
stack segment
db 16 dup(0)
stack ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,16
mov si,6
call getdate
...
阅读全文 |
评论次数(4) |
浏览次数(417) |
所属类型(汇编作业)
[2008-12-10 10:11] 第14章检测点提交 请求老师指点
检测点14.2
用加法和移位指令计算(ax)=(ax)*10
源代码如下:
assume cs:code
code segment
start:
mov ax,3
call mul10
mov ax,4c00h
int 21h
mul10: push bx
shl ax,1
mov bx,ax
mov cl,2
shl ax,cl
add ax,bx
pop bx
ret
code ends
end start...
用加法和移位指令计算(ax)=(ax)*10
源代码如下:
assume cs:code
code segment
start:
mov ax,3
call mul10
mov ax,4c00h
int 21h
mul10: push bx
shl ax,1
mov bx,ax
mov cl,2
shl ax,cl
add ax,bx
pop bx
ret
code ends
end start...
阅读全文 |
评论次数(2) |
浏览次数(345) |
所属类型(汇编作业)
[2008-12-09 14:42] 第13章检测点提交 请求老师指点
检测点13.1
(1)7ch中断例程所能进行的最大转移位移是-65279到65279.
因为我自己写了个程序试了下,转移位移是可以超过32767的,所以理论上是可以从段首移到段尾,从段尾移到段首的,即移动位移尾FFFFH。只是段首还有256字节的psp,所以真实的移动位移应该是
FFFFH-100H=65279.
(2)用7ch中断例程完成jmp near ptr s指令的功能。
代码如下:
assume cs:code
code segment
start:
mov ax,cs
mov ds,ax
mov ax,20h
mov es,ax
mov si,o...
(1)7ch中断例程所能进行的最大转移位移是-65279到65279.
因为我自己写了个程序试了下,转移位移是可以超过32767的,所以理论上是可以从段首移到段尾,从段尾移到段首的,即移动位移尾FFFFH。只是段首还有256字节的psp,所以真实的移动位移应该是
FFFFH-100H=65279.
(2)用7ch中断例程完成jmp near ptr s指令的功能。
代码如下:
assume cs:code
code segment
start:
mov ax,cs
mov ds,ax
mov ax,20h
mov es,ax
mov si,o...
阅读全文 |
评论次数(2) |
浏览次数(408) |
所属类型(汇编作业)
[2008-12-08 13:49] 试验11提交 请求老师指点
;名称:letterc
;功能:将以0结尾的字符串中的小写字母转变成大写字母
;参数:ds:si指向字符串首地址
letterc:
push ax
push si
s:
mov al,ds:[si]
cmp al,0
je return
cmp al,97
jb s0
cmp al,122
ja s0
and al,11011111B
mov ds:[si],al
s0: inc si
jmp short s
return:
pop si
pop ax
ret
这一章的试验忘记上传了,所以就重新补了一下!不能落了!...
;功能:将以0结尾的字符串中的小写字母转变成大写字母
;参数:ds:si指向字符串首地址
letterc:
push ax
push si
s:
mov al,ds:[si]
cmp al,0
je return
cmp al,97
jb s0
cmp al,122
ja s0
and al,11011111B
mov ds:[si],al
s0: inc si
jmp short s
return:
pop si
pop ax
ret
这一章的试验忘记上传了,所以就重新补了一下!不能落了!...
阅读全文 |
评论次数(2) |
浏览次数(362) |
所属类型(汇编作业)