本人在这里分享一下自己学习中的感悟吧!
1.学习汇编给我第一个感觉是麻烦,可是当接触多了才知道汇编的乐趣
2.开始学时有点枯燥,可是体会了编程过程中驾驭寄存器的基本能力后感觉在控制底层的东西也挺不错的,带动我对硬件中寄存器的操作的了解和提升自己对硬件的学习的乐趣
3.汇编确实有用,当在底层开发的时候需要用到汇编驱动汇编,汇编可以实现C语言难以实现的功能,特别是在嵌入式开发的过程中。
以上只是自己学习汇编的一点简短的感悟!如有更好的学习心得,随时欢迎交流!...


- [lwyjd520] 刚要开始学习,可是很迷茫,不知道如何学习,有什么好资料,可以指导一下不? 10/24 20:30
- [three-stone] 刚开始学呢。 10/21 19:23
- [jinshuwen] 学习汇编,兴趣第一。不一定要编写出什么程序,起码学习汇编对计算机是如何工作的心中有一定的了解。 10/10 08:25
- [yoyou] 感觉越是基础就月要花时间 05/29 23:54
- [no_fate_boy] 恩,感受到了,确实的 啊!!!基础却不是容易掌握 05/18 12:54
- [游客] 我学的也是汇编,学汇编可以进一步了解单片机内部原理,对以后的编程有很大的作用。 04/20 10:44
- [游客] 我也想学,不知道从何下手,一点头绪也没有, 04/13 13:52
- [isaacblue] 支持 04/02 00:20
- [游客] 汇编确实是有用的,但是我觉得只从使用角度看汇编重要还是偏颇的。 下面这个帖子不错。 http:/ 02/02 12:23
- [游客] 兴趣是最好的老师^_^ 01/29 16:27
[2010-01-29 02:45]
有趣的汇编学习
阅读全文 |
评论次数(10) |
浏览次数(4176) |
所属类型(汇编总结)
[2009-11-20 14:17] 用指定的颜色显示字符串
;名称:show_str
;功能:在指定的位置用指定的颜色显示一个用0表示结束的字符串
;参数:
;返回:无
data segment
db 'welcome to my school!',0
data ends
code segment
assume cs:code,ds:data
start:mov ax,data ;di:si指定字符串
mov ds,ax
mov si,0
mov ax,0b800h ;指定显存
mov es,ax
mov di,160*8+2*3
jmp show_str
finish:mov ah...
;功能:在指定的位置用指定的颜色显示一个用0表示结束的字符串
;参数:
;返回:无
data segment
db 'welcome to my school!',0
data ends
code segment
assume cs:code,ds:data
start:mov ax,data ;di:si指定字符串
mov ds,ax
mov si,0
mov ax,0b800h ;指定显存
mov es,ax
mov di,160*8+2*3
jmp show_str
finish:mov ah...
阅读全文 |
评论次数(0) |
浏览次数(644) |
所属类型(汇编学习)
[2009-11-12 21:20] 字符串比较
本段实现的是比较两个字符串的大小
不过有一点不明白,将以下注释了后显示不出最后的结果,为什么了?
PUSH DS
SUB AX,AX
PUSH AX
DATA SEGMENT
STRING1 DB '12345'
STRING2 DB '1a345'
MATCHSTR DB 'MATCH$'
NOMATCHSTR DB 'NO MATCH$'
DATA ENDS
E_SEG SEGMENT
E_SEG ENDS
S_SEG SEGMENT
DW 100 DUP(?)
S_SEG ENDS
...
不过有一点不明白,将以下注释了后显示不出最后的结果,为什么了?
PUSH DS
SUB AX,AX
PUSH AX
DATA SEGMENT
STRING1 DB '12345'
STRING2 DB '1a345'
MATCHSTR DB 'MATCH$'
NOMATCHSTR DB 'NO MATCH$'
DATA ENDS
E_SEG SEGMENT
E_SEG ENDS
S_SEG SEGMENT
DW 100 DUP(?)
S_SEG ENDS
...
阅读全文 |
评论次数(2) |
浏览次数(644) |
所属类型(汇编学习)
[2009-11-10 22:07] 显存读写实例
;直接写0b800h片显存
;功能:通过键盘输入字符在屏幕上显示
code segment
color db 08h
assume cs:code,ds:code
start:mov ax, code
mov ds, ax
mov ax, 0b800h
mov es, ax
mov bx, 0
mov di, 0
KeyL:mov ah, 8
int 21h ;dos功能调用
mov es:[di+0], al ;写入数据
mov bl, color
mov es:[di+1], bl
add di, 2
cmp ...
;功能:通过键盘输入字符在屏幕上显示
code segment
color db 08h
assume cs:code,ds:code
start:mov ax, code
mov ds, ax
mov ax, 0b800h
mov es, ax
mov bx, 0
mov di, 0
KeyL:mov ah, 8
int 21h ;dos功能调用
mov es:[di+0], al ;写入数据
mov bl, color
mov es:[di+1], bl
add di, 2
cmp ...
阅读全文 |
评论次数(0) |
浏览次数(584) |
所属类型(汇编总结)
[2009-10-17 15:02] [bx]和loop指令
[bx]——指令的功能:
mov ax,[bx] 将内存的数据送入寄存器ax中
mov [bx],ax 将寄存器ax的数据送入内存中
loop指令格式:loop 标号(标号代表一个地址)
实现循环功能的3个要点:
1) 在cx中存放循环次数
2) 标号所标志的地址要在前面
3) 循环执行的程序段放在中间...
mov ax,[bx] 将内存的数据送入寄存器ax中
mov [bx],ax 将寄存器ax的数据送入内存中
loop指令格式:loop 标号(标号代表一个地址)
实现循环功能的3个要点:
1) 在cx中存放循环次数
2) 标号所标志的地址要在前面
3) 循环执行的程序段放在中间...
阅读全文 |
评论次数(0) |
浏览次数(568) |
所属类型(汇编总结)
[2009-10-17 10:35] DOS功能调用
DOS的功能调用,也叫INT 21H的中断,是一个及其重要的中断。常用的系统调用子功能有以下几个:
⑴ 01H号调用(带回显的键符输入)
1 号子功能是从标准输入设备输入一个字符,并送入寄存器AL,不许入口参数,例如:
MOV AH, 01H
INT 21H
⑵ 0AH号调用(字符串输入)
从键盘接收字符串到内存输入缓冲区,要求事先定义一个输入缓冲区,缓冲群诶第一个字节指出缓冲区的字符个数,不能为零。第二个字节保留已用作填写输入的字符实际个数。从第三个字节开始存放从键盘上接收的字符
⑶ 02H号调用(字符输出显示)
2号功能是将一个字符(一个ASCII码值)...
⑴ 01H号调用(带回显的键符输入)
1 号子功能是从标准输入设备输入一个字符,并送入寄存器AL,不许入口参数,例如:
MOV AH, 01H
INT 21H
⑵ 0AH号调用(字符串输入)
从键盘接收字符串到内存输入缓冲区,要求事先定义一个输入缓冲区,缓冲群诶第一个字节指出缓冲区的字符个数,不能为零。第二个字节保留已用作填写输入的字符实际个数。从第三个字节开始存放从键盘上接收的字符
⑶ 02H号调用(字符输出显示)
2号功能是将一个字符(一个ASCII码值)...
阅读全文 |
评论次数(0) |
浏览次数(624) |
所属类型(汇编学习)