assume cs:code
stack segment
db 128 dup (0)
stack ends
code segment
start: mov ax,stack
mov ds,ax
mov si,0
mov dh,18
mov dl,0
call chars
mov ax,4c00h
int 21h
;子程序chars
;功能:显示字符串
;参数:ds:si指向字符栈空间首个字符,...


- [游客] 记得书上曾说过,一个数据可以看作是有符号数,也可以看成是无符号数。 add al,'A'-'a' 04/11 21:56
- [游客] 写的不错,直观而易懂、子程序的过程并没有让人难以理解的地方,非常不错。 也分享一个参考例子: l 04/11 21:54
- [游客] 不错,加油。 07/10 17:00
- [rswjf] 谢谢,我把这个知识点给忘了。 07/10 16:58
- [lengxiaoyao] 安装个虚拟软驱就可以测试 jmp word ptr table[bx].206h ,不一定必须 07/10 14:34
- [wsrf] 不错,支持一下。 07/05 11:24
- [游客] 没问题。继续前进。 07/02 08:16
- [rswjf] 谢谢,感觉明了了许多 06/21 01:11
- [游客] 理解的差不多,注意那个call是调用以前的中断例程,而以前的中断例程,而这个中断了例程中肯定有ire 06/20 12:28
- [tomato] 分出两个独立的子程序功能,使程序更加清楚,不错。不过,前边一连串的调用同样也可以简化通用一下。 06/15 15:00
[2009-07-08 14:00] 17.3字符串的输入
阅读全文 |
评论次数(1) |
浏览次数(809) |
所属类型(默认类型)
[2009-06-19 23:47] 做个笔记
;一直理解不过来,为什么用了连续的两个PUSHF,所以做个笔记,不知道理解的对不对?
assume cs:code
stack segment
db 128 dup (0)
stack ends
data segment
dw 0,0
data ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,128
mov ax,data
mov ds,ax
mov ax,0
mov es,ax
...
assume cs:code
stack segment
db 128 dup (0)
stack ends
data segment
dw 0,0
data ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,128
mov ax,data
mov ds,ax
mov ax,0
mov es,ax
...
阅读全文 |
评论次数(2) |
浏览次数(794) |
所属类型(默认类型)
[2009-06-04 23:40] 标志寄存器介绍
在8086CPU中有种特殊的寄存器,它们用来存储CPU的状态,或某些指令执行的结果,用来控制CPU的工作方式。这些就是标志寄存器。
标志寄存器共16位 其中 第1、3、5、12、13、14、15位无任何意义
标志寄存器详解:
CF: (第0位)无符号数进位标志。用于当二个数相加且相加后产生进位后的数据大于寄存器所能存储的数据的最大值时,CF=1 ;如 mov al,0F0H add al,10H 即发生了进位,al是8位寄存器,最大值为FFH,而相加后的数据100H 大于了它所能存储的最大值即发生的进位,而al中又不能存储这个进们的数据,则CF=1代表发生的进后...
标志寄存器共16位 其中 第1、3、5、12、13、14、15位无任何意义
标志寄存器详解:
CF: (第0位)无符号数进位标志。用于当二个数相加且相加后产生进位后的数据大于寄存器所能存储的数据的最大值时,CF=1 ;如 mov al,0F0H add al,10H 即发生了进位,al是8位寄存器,最大值为FFH,而相加后的数据100H 大于了它所能存储的最大值即发生的进位,而al中又不能存储这个进们的数据,则CF=1代表发生的进后...
阅读全文 |
评论次数(2) |
浏览次数(784) |
所属类型(默认类型)
页码数(1):
1