assume cs:code
code segment
start:
push cs
pop ds
mov si,offset int9
mov ax,0
mov es,ax
mov di,204h
mov cx,offset int9end-offset int9
cld
rep movsb
push es:[9*4]
pop es:[200h]
push es:[9*4...


- [fpamc] 恩,挺好的O(∩_∩)O~ 里面有好多好习惯可以学习, 同时为我将开始课设2提出好多建议! 05/30 18:43
- [游客] 顶! 05/30 16:50
- [tomato] 闪烁的问题你可以再想想有没有更好的解决办法。 05/26 19:38
- [zhujinwu] 收获和感受的总结,我试一下吧,表达方面我比较弱。 再就是光标闪烁的问题,单独做很简单,而放到课程设 05/26 14:48
- [tomato] 博主是不是把课程设计二遇到的问题,如何解决的,收获和感受总结一下,跟大家分享一下呢? 05/25 23:48
- [zhujinwu] 刚试了一下,确实可行,明天再把这个课程设计2整合一下。 05/25 23:38
- [zhujinwu] 突然想起,光标似乎不能控制它不显示,不过我想应该可以通过下面这个办法来实现:屏幕上默认显示的都是第0 05/25 22:55
- [zhujinwu] 这个办法我也想过,不过这中间就得加一段延时程序,一般系统中的光标闪烁不知道是不是也是通过这种办法实现 05/25 22:49
- [tomato] 可以让光标显示一下,然后不显示一下,来达到这种效果。 05/25 21:45
- [zhujinwu] 嗯,我会的,谢谢tomato老师一直以来的关注! 05/20 09:42
- [fpamc] `(*∩_∩*)′~ 05/25 14:17
- [cheng12308] 我论坛发了疑问。博主条理很清晰的分析感动了我。。博主好人啊! 05/24 22:39
- [lizhengfu] 帮我编个程序:试编一程序将AX寄存器中的数以十六进制形式在屏幕显示。Very thank you! 12/15 10:50
[2015-04-18 14:50] 更新 实验15 安装一个新的int9中断例程
阅读全文 |
评论次数(0) |
浏览次数(558) |
所属类型(默认类型)
[2012-04-24 22:56] 利用字符串比较命令cmps对由键盘输入的两个字符串进行比较并输出结果。
dseg segment
str1 db 20
db ?
db 20 dup (?)
str2 db 20
db ?
db 20 dup (?)
equ1 db 'str1=str2$'
nequ1 db 'str1!=str2$'
dseg ends
cseg segment
assume cs:cseg,ds:dseg,es:dseg
start: mov ax,dseg
mov ds,ax
mov es,...
str1 db 20
db ?
db 20 dup (?)
str2 db 20
db ?
db 20 dup (?)
equ1 db 'str1=str2$'
nequ1 db 'str1!=str2$'
dseg ends
cseg segment
assume cs:cseg,ds:dseg,es:dseg
start: mov ax,dseg
mov ds,ax
mov es,...
阅读全文 |
评论次数(0) |
浏览次数(668) |
所属类型(默认类型)
[2012-04-24 22:01] 利用scansb判断输入的字符是否为十六进制
dseg segment
hex db '0123456789ABCDEF'
hexl label byte
dseg ends
cseg segment
assume cs:cseg,ds:dseg
start: mov ax,dseg
mov es,ax
mov di,offset hex
mov cx,offset hexl-offset hex
mov ah,1
int 21h
ishex: cld
scasb
jz ishex1 ...
hex db '0123456789ABCDEF'
hexl label byte
dseg ends
cseg segment
assume cs:cseg,ds:dseg
start: mov ax,dseg
mov es,ax
mov di,offset hex
mov cx,offset hexl-offset hex
mov ah,1
int 21h
ishex: cld
scasb
jz ishex1 ...
阅读全文 |
评论次数(1) |
浏览次数(340) |
所属类型(默认类型)
[2012-04-24 21:09] 利用lodsb实现将大写字母转换成小写字母
dseg segment
str db 'HeLLow!',0
dseg ends
cseg segment
assume cs:cseg
start: mov ax,dseg
mov ds,ax
mov si,offset str
call strlwr
mov ax,4c00h
int 21h
strlwr proc
cld
jmp strlwr2
strlwr1:sub al,'A'
cmp al,'Z'-'A'
...
str db 'HeLLow!',0
dseg ends
cseg segment
assume cs:cseg
start: mov ax,dseg
mov ds,ax
mov si,offset str
call strlwr
mov ax,4c00h
int 21h
strlwr proc
cld
jmp strlwr2
strlwr1:sub al,'A'
cmp al,'Z'-'A'
...
阅读全文 |
评论次数(3) |
浏览次数(373) |
所属类型(默认类型)
[2012-04-24 20:55] 利用lods和stos轻松实现字符串的复制
dseg segment
str1 db 'Welcome to masm!',0
str2 db 17 dup (?)
dseg ends
cseg segment
assume cs:cseg,es:dseg,ds:dseg
start:mov ax,dseg
mov ds,ax
mov es,ax
mov si,offset str1
mov di,offset str2
call strcpy
mov ax,4c00h
int 21h
strcp...
str1 db 'Welcome to masm!',0
str2 db 17 dup (?)
dseg ends
cseg segment
assume cs:cseg,es:dseg,ds:dseg
start:mov ax,dseg
mov ds,ax
mov es,ax
mov si,offset str1
mov di,offset str2
call strcpy
mov ax,4c00h
int 21h
strcp...
阅读全文 |
评论次数(0) |
浏览次数(269) |
所属类型(默认类型)
[2011-12-09 11:20] 第3章
一、字单元:存放一个字型数据的内存单元,由两个地址连续的内存单元组成。高地址内存单元存放字型数据的高位字节,低地址内存单元存放字型数据的低位字节;
二、一个起始地址为N的字单元可以称之为N地址字单元。
三、任何两个地址连续的内存单元,即N和N+1号内存单元可看成是两个内存单元,也可看成是地址为N的字单元中的高位字节单元和低位字节单元。
四、8086CPU中不支持将数据直接送入段寄存器,这是8086CPU硬件设计的问题。
五、几种操作:
mov 寄存器,数据
mov 寄存器,寄存器
mov 寄存器,内存单元
mov 内存单元,寄存器
mo...
二、一个起始地址为N的字单元可以称之为N地址字单元。
三、任何两个地址连续的内存单元,即N和N+1号内存单元可看成是两个内存单元,也可看成是地址为N的字单元中的高位字节单元和低位字节单元。
四、8086CPU中不支持将数据直接送入段寄存器,这是8086CPU硬件设计的问题。
五、几种操作:
mov 寄存器,数据
mov 寄存器,寄存器
mov 寄存器,内存单元
mov 内存单元,寄存器
mo...
阅读全文 |
评论次数(2) |
浏览次数(404) |
所属类型(默认类型)
[2011-12-07 22:28] 第1章
一、机器语言的缺点:难以记忆;难以看懂;查错难。
二、汇编语言的组成:汇编指令、伪指令、其他符号。其核心是汇编指令。
三、将CPU比作人的大脑,内存比作人的记忆,磁盘不同于内存,它就相当于书本。
四、数据和指令是应用上的区别,而对于计算机而言,它们没有任何区别,都是二进制信息。
五、计算机中最小的信息单位是位(bit),最小的存储单位是字节(byte),一般字节缩写为大写的B,位用小写字母b表示。1B=8b.
1KB=1024B,1MB=1024KB,1GB=1024MB,1TB=1024GB。
六、CPU进行数据的读写,要与芯片进行以下信息的交互:
1、存储单元的地址;...
二、汇编语言的组成:汇编指令、伪指令、其他符号。其核心是汇编指令。
三、将CPU比作人的大脑,内存比作人的记忆,磁盘不同于内存,它就相当于书本。
四、数据和指令是应用上的区别,而对于计算机而言,它们没有任何区别,都是二进制信息。
五、计算机中最小的信息单位是位(bit),最小的存储单位是字节(byte),一般字节缩写为大写的B,位用小写字母b表示。1B=8b.
1KB=1024B,1MB=1024KB,1GB=1024MB,1TB=1024GB。
六、CPU进行数据的读写,要与芯片进行以下信息的交互:
1、存储单元的地址;...
阅读全文 |
评论次数(3) |
浏览次数(366) |
所属类型(默认类型)
[2011-11-23 21:25] 第16章的一个疑问
图1
assume cs:code
code segment
a db 1,2,3,4,5,6,7,8
b dw 0
start: mov si,0
mov cx,8
s: mov al,a[si]
mov ah,0
add b,ax
inc si
loop s
mov ax,4c00h
int 21h
code ends
end start
上述程序编译连接后,DEBUG后发现看不到“mov si,0”这条指令(如图1),这是什么原因?
补充:将“mov si,0”换成是别的指令也...
assume cs:code
code segment
a db 1,2,3,4,5,6,7,8
b dw 0
start: mov si,0
mov cx,8
s: mov al,a[si]
mov ah,0
add b,ax
inc si
loop s
mov ax,4c00h
int 21h
code ends
end start
上述程序编译连接后,DEBUG后发现看不到“mov si,0”这条指令(如图1),这是什么原因?
补充:将“mov si,0”换成是别的指令也...
阅读全文 |
评论次数(8) |
浏览次数(396) |
所属类型(默认类型)
[2011-11-08 00:27] 通了
现在总算是明白为什么第5章检测题不过关了,都怪自己粗心,把“字单元”看成了“字节单元”;把选择正确答案看成了选择错误答案,能不错吗?哎,真是太粗心了。只好再等几个小时了。...
阅读全文 |
评论次数(2) |
浏览次数(320) |
所属类型(默认类型)
[2011-11-08 00:18] 奇怪
在汇编网上发出的问题及作业,怎么这么久都没有人评论和加以指导呢?...
阅读全文 |
评论次数(1) |
浏览次数(304) |
所属类型(默认类型)