③
dtoc: ;定义子程序
;名称:dtoc
;功能:将word型数据转变为表示十进制的字符串,字符串以0为结尾符
;参数:(ax)=word型数据 ds:si指向字符串的首地址
;返回:无
push ax
push bx
push cx
push dx
push si ;以上皆为存储主程序中各寄存器的值
mov bx,0 ;将bx置零,用于存储位数
change: mov cx,10d ...
- [kanwangxue] 如果是文字的,不是特别好啊,体力活,如果文字还加点动画,那就必须顶了。 01/15 01:10
- [kanwangxue] 必须顶啊。 01/15 00:54
- [ltoiii] 既然是实现loop功能,是否要考虑s和se标号? mov bx,offset s - offset 12/09 12:09
- [xiaoyao2012] 正确 11/01 15:33
- [xuer2016] 又找到2条被我忽视的地方: 1.PUSH 和 POP 针对字单元 2.POP 不能是CS 10/26 10:57
- [xuer2016] 学习了 我书写不规范,16进制字母前不加0,后面不加H,以后要注意了。。。 10/26 10:51
- [xuer2016] 来老师这学习下 10/26 10:31
- [youthangel] 不妙,CPU的利用率一下子就上去了。还好我的处理器不是太弱,35%左右的利用率。建议博主在修改一下 10/20 08:23
- [fpamc] 在我心里她就是我的女神。 10/02 08:58
- [newpeople] 你女朋友用得了简直就是一个女神…… 10/01 08:10
- [99998888] 请您指点一下如何找到会ASSEMBLER 语言的翻译,翻译成中文或英文。我的QQ ; 9097815 07/25 09:56
- [jeremy] 我觉得你学习的挺好,可以加你扣扣吗?我的469614823 08/07 14:46
- [zhangbo0805] 哈哈, 你好呀!很希望认识你呀!我发现你学习的积极性很高!正想向您学习呢! 07/31 23:31
- [tomato] 知道了,排得还挺满。 05/29 16:35
- [tomato] 现在学习情况怎么样?在做课设二还是什么? 05/29 10:41
- [tomato] 你的留言收到了。 05/05 23:51
- [fpamc] 开始学习c咯! 05/03 21:40
- [fpamc] 居然不能发博客了……! 04/22 21:03
- [tomato] 你相册中的游戏界面我看过了,非常好,界面很漂亮,很有创造力。博主,很有潜力。加油,一定能把这个游戏做 04/20 23:46
- [fpamc] 忙了半个月,不在家,没时间学习汇编。 但是在途中想到了一个有史以来最难的程序。对于刚学完9章的我。 04/13 20:56
[2012-04-23 15:35] 实验十(二)
阅读全文 |
评论次数(1) |
浏览次数(138) |
所属类型(汇编作业)
[2012-04-23 15:33] 实验十(一)
实验十
三个课本子程序,一个扩展子程序
①
show_str: ;定义子程序
;名称:show_str
;功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串。
;参数:(dh)=行号(取值范围1~25)
; (dl)=列号(取值范围1~80)
; (cl)=颜色,ds:si指向字符串的首地址
;返回:无
push cx
push es
push si
push di ;以上皆为保存主程序各寄存器的值
mov ax,0b800...
三个课本子程序,一个扩展子程序
①
show_str: ;定义子程序
;名称:show_str
;功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串。
;参数:(dh)=行号(取值范围1~25)
; (dl)=列号(取值范围1~80)
; (cl)=颜色,ds:si指向字符串的首地址
;返回:无
push cx
push es
push si
push di ;以上皆为保存主程序各寄存器的值
mov ax,0b800...
阅读全文 |
评论次数(1) |
浏览次数(148) |
所属类型(汇编作业)
[2012-04-22 20:56] 第十章作业
写贪吃蛇知识不够用了,只能加大马力!
拿下了第十章
还剩下课程设计还没做。
……………………………………………………………………………………………………
第十章
检测点10.1
补全程序,实现从内存1000:0000处开始执行指令。
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
push ax
mov ax, 0
push ax
re...
拿下了第十章
还剩下课程设计还没做。
……………………………………………………………………………………………………
第十章
检测点10.1
补全程序,实现从内存1000:0000处开始执行指令。
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
push ax
mov ax, 0
push ax
re...
阅读全文 |
评论次数(1) |
浏览次数(144) |
所属类型(汇编作业)
[2012-04-16 18:48] 一个因为MY想到的程序(二)「自娱自乐」
在“一个因为MY想到的程序(一)”中,因源程序出现一些细节错误导致左右两边出现多余的蓝色条。今空余时间做了修改,都是一些细节问题。程序效果按照所想呈现。
PS:个人感觉有BUG的那个好看些。。。。嘿嘿。
下面贴出修改后的源码。
assume cs:code,ds:data,ss:stack
data segment
db '9966999999966699999996699666699666999966699666699'
db '9969999999996999999999699666699669966996699666699'
db '9966999999999999...
PS:个人感觉有BUG的那个好看些。。。。嘿嘿。
下面贴出修改后的源码。
assume cs:code,ds:data,ss:stack
data segment
db '9966999999966699999996699666699666999966699666699'
db '9969999999996999999999699666699669966996699666699'
db '9966999999999999...
阅读全文 |
评论次数(5) |
浏览次数(256) |
所属类型(自娱自乐)
[2012-04-15 21:56] 一个因为MY想到的程序(一)「自娱自乐」
我的知识峰值第九章。
此程序写出所用时间:大约10小时,包括调试,简化,颜色选择等。。。。
这个程序是我目前遇到的难度最大的程序,想法源于一个MY(魅友)的帖子,因有些朋友看不到帖子的效果,所以做了个直接出效果的这个。。
这个程序是我第一次加注释,可能有些问题。
希望各位同学和老师提出建议,共同探讨。。。
下面是这个程序的源码,效果图不用说了。。
assume cs:code,ds:data,ss:stack
data segment
db '9966999999966699999996699666699666999966699666699 ...
此程序写出所用时间:大约10小时,包括调试,简化,颜色选择等。。。。
这个程序是我目前遇到的难度最大的程序,想法源于一个MY(魅友)的帖子,因有些朋友看不到帖子的效果,所以做了个直接出效果的这个。。
这个程序是我第一次加注释,可能有些问题。
希望各位同学和老师提出建议,共同探讨。。。
下面是这个程序的源码,效果图不用说了。。
assume cs:code,ds:data,ss:stack
data segment
db '9966999999966699999996699666699666999966699666699 ...
阅读全文 |
评论次数(14) |
浏览次数(254) |
所属类型(自娱自乐)
[2012-04-01 07:03] 第九章笔记
第九章 转移指令的原理
可以修改ip,或同时修改cs和ip的指令统称为转移指令。
概括地讲,转移指令就是可以控制cpu执行内存中某处代码的指令。
8086cpu的转移行为有以下几类:
•只修改ip时,称为段内转移,比如:jmp ax。
•同时修改cs和ip时,称为段间转移,比如:jmp 1000:0.
由于转移指令对ip的修改范围不同,段内转移又分为:短转移和近转移。
•短转移ip的修改范围为-128~127。
•近转移ip的修改范围为-32768~32767。
8086cpu的转移指令分为以下几类。
•无条件转移指令
•条件转移指令
•循环指令
•过程
•中断
...
可以修改ip,或同时修改cs和ip的指令统称为转移指令。
概括地讲,转移指令就是可以控制cpu执行内存中某处代码的指令。
8086cpu的转移行为有以下几类:
•只修改ip时,称为段内转移,比如:jmp ax。
•同时修改cs和ip时,称为段间转移,比如:jmp 1000:0.
由于转移指令对ip的修改范围不同,段内转移又分为:短转移和近转移。
•短转移ip的修改范围为-128~127。
•近转移ip的修改范围为-32768~32767。
8086cpu的转移指令分为以下几类。
•无条件转移指令
•条件转移指令
•循环指令
•过程
•中断
...
阅读全文 |
评论次数(1) |
浏览次数(221) |
所属类型(汇编笔记)
[2012-04-01 06:55] 实验九
实验9
显示三行welcome to masm
编程:在屏幕中间分别显示绿色,绿底红色,白色蓝底的字符串’welcome to masm!’
程序一:
assume cs:code,ds:data
data segment
db 'welcome to masm!'
data ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov bx,0
mov si,0
mov cx,16
s:
mov al,[bx]
mov ah,02h ...
显示三行welcome to masm
编程:在屏幕中间分别显示绿色,绿底红色,白色蓝底的字符串’welcome to masm!’
程序一:
assume cs:code,ds:data
data segment
db 'welcome to masm!'
data ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov bx,0
mov si,0
mov cx,16
s:
mov al,[bx]
mov ah,02h ...
阅读全文 |
评论次数(3) |
浏览次数(174) |
所属类型(汇编作业)
[2012-04-01 06:48] 第九章作业
第九章
检测点9.1
(1)程序如下。
assume cs:code
data segment
dw 2 dup (0)
data ends
code segment
start: mov ax,dtat
mov ds,ax
mov bx,0
jmp word ptr [bx+1]
code ends
end start
若要使jmp指令执行后,CS:IP指向程序的第一条指令,在data段中应该定义哪些数据?
答案①db 3 dup (0)
答案②dw 2 dup (0)
答案③dd 0
只...
检测点9.1
(1)程序如下。
assume cs:code
data segment
dw 2 dup (0)
data ends
code segment
start: mov ax,dtat
mov ds,ax
mov bx,0
jmp word ptr [bx+1]
code ends
end start
若要使jmp指令执行后,CS:IP指向程序的第一条指令,在data段中应该定义哪些数据?
答案①db 3 dup (0)
答案②dw 2 dup (0)
答案③dd 0
只...
阅读全文 |
评论次数(1) |
浏览次数(120) |
所属类型(汇编作业)
[2012-04-01 06:46] 第八章笔记
第八章 数据处理的两个基本问题
计算机是进行数据处理、运算的机器。
描述性符号:reg(寄存器)和sreg(段寄存器)
reg的集合包括:ax、bx、cx、dx、ah、al、bh、bl、ch、cl、dh、dl、sp、bp、si、di
sreg的集合包括:ds、ss、cs、es
在8086cpu中,只有这四个寄存器(bx、bp、si、di)可以用在“[…]”中来进行内存单元的寻址。
在“[…]”中,这四个寄存器可以单个出现,或只能以四种组合出现:bx和si、bx和di、bp和si、bp和di。
只要在“[…]”使用寄存器bp,而指令中没有显性地给出段地址,段地址就默认在ss中。...
计算机是进行数据处理、运算的机器。
描述性符号:reg(寄存器)和sreg(段寄存器)
reg的集合包括:ax、bx、cx、dx、ah、al、bh、bl、ch、cl、dh、dl、sp、bp、si、di
sreg的集合包括:ds、ss、cs、es
在8086cpu中,只有这四个寄存器(bx、bp、si、di)可以用在“[…]”中来进行内存单元的寻址。
在“[…]”中,这四个寄存器可以单个出现,或只能以四种组合出现:bx和si、bx和di、bp和si、bp和di。
只要在“[…]”使用寄存器bp,而指令中没有显性地给出段地址,段地址就默认在ss中。...
阅读全文 |
评论次数(1) |
浏览次数(198) |
所属类型(汇编笔记)
[2012-04-01 06:44] 第八章作业(再续)
程序执行前table内存的情况如下:
14E8:0000 79 65 61 72 20 73 75 6D-6D 20 6E 65 20 3F 3F 20 year summ ne ??
14E8:0010 79 65 61 72 20 73 75 6D-6D 20 6E 65 20 3F 3F 20 year summ ne ??
14E8:0020 79 65 61 72 20 73 75 6D-6D 20 6E 65 20 3F 3F 20 year summ ne ??
14E8:0030 79 65 61 72 20 73 75 6D-6D 20 6E 65...
14E8:0000 79 65 61 72 20 73 75 6D-6D 20 6E 65 20 3F 3F 20 year summ ne ??
14E8:0010 79 65 61 72 20 73 75 6D-6D 20 6E 65 20 3F 3F 20 year summ ne ??
14E8:0020 79 65 61 72 20 73 75 6D-6D 20 6E 65 20 3F 3F 20 year summ ne ??
14E8:0030 79 65 61 72 20 73 75 6D-6D 20 6E 65...
阅读全文 |
评论次数(1) |
浏览次数(111) |
所属类型(汇编作业)