王爽老师的《汇编语言》学完了,那是8086 16位CPU的。但现在的CPU大多是64位,还听过win32汇编。
犹豫~就这样去学C语言等高级语言就可以了吗?学C会很吃力么?还有谁能介绍个好的C语言学习系统或是书的?
还有现在到处都是说的高级语言,很少有听说汇编的,
汇编语言有什么用处么?...
- [tomato] 博主的程序出现死机,那说明还有问题,还是再仔细看看!加油!做到现在已经相当厉害了! 06/12 09:20
- [hualongmian] 呵呵,我先这里抱歉下,我是计算机爱好者, 可能我没有说清楚,我不是说汇编有什么用,而是问汇编的用处 06/11 19:36
- [wuerlang] 同意一楼所说的:“你看你要干什么。。。”!!! 不管学习什么东西,都首先要明确自己的目的、方向!这 06/11 19:07
- [ppt] 程序没有细看,程序写到软盘的0面0道1扇区后DOS Windows就不认那个盘了,这是正常的,没关系 06/11 16:32
- [游客] 都已经学完了,还在问这样的问题,真是没话说! 你既然没打算深学了,还问“汇编有什么用”,干什么?真 06/11 14:31
- [游客] 去看看这个吧1 http://www.asmedu.net/intro.htm 06/11 13:04
- [游客] 个人认为,学完了这本汇编语言再学C会非常轻松。根本没有必再学32位汇编。学32位汇编,只能说你是想从 06/11 12:32
- [w0922] 还在说这样的问题··· 郁闷··· 你看你要干什么··· 如果是为那找个好工作呢· 06/11 11:24
- [hualongmian] ...刚测试了一下,没用了,说CPU遇到无效指令。。。。晕了。。。。 06/11 01:33
- [hualongmian] 呵呵,谢谢starrynight !看了大受益!我开始并没有考虑将中断写入20:0处,而是将此中断例 06/11 01:28
[2008-06-11 11:03] 编程学习的沉默~求助!
阅读全文 |
评论次数(6) |
浏览次数(892) |
所属类型(默认类型)
[2008-06-11 00:06] 课程设计2
;我的程序框架:
;1、将软盘现有的0面0道1扇区的操作系统引导程序复制到0面0道9扇区当中
;2、es:bx指向任务程序,(ah)=3,(al)=8,(ch)=0,(cl)=1,(dh)=0,(dl)=0
; 将任务程序安装到0面0道1扇区至0面0道8扇区当中。
;3、任务程序中,调用int 10h 的2号置光标功能和int 21h的9号显示字符串功能将功
; 能选择项显示到屏幕上。
;4、等待键盘输入。
;5、跟据键盘的输入进入到各对应的功能子程序。
;6、编写各功能子程序。
;7、寻找逻辑错误并解决。
assume cs:code
;cache segmen...
;1、将软盘现有的0面0道1扇区的操作系统引导程序复制到0面0道9扇区当中
;2、es:bx指向任务程序,(ah)=3,(al)=8,(ch)=0,(cl)=1,(dh)=0,(dl)=0
; 将任务程序安装到0面0道1扇区至0面0道8扇区当中。
;3、任务程序中,调用int 10h 的2号置光标功能和int 21h的9号显示字符串功能将功
; 能选择项显示到屏幕上。
;4、等待键盘输入。
;5、跟据键盘的输入进入到各对应的功能子程序。
;6、编写各功能子程序。
;7、寻找逻辑错误并解决。
assume cs:code
;cache segmen...
阅读全文 |
评论次数(2) |
浏览次数(860) |
所属类型(汇编作业)
[2008-06-07 15:15] 第十七章·实验17
assume cs:code
stack segment stack
dw 128 dup (0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,256
mov ax,seg code
mov ds,ax
mov si,offset sqr_st
mov ax,20h
mov es,ax
mov di,0
mov cx,offset sqr_end-offset sqr_st
cld
rep movsb
mov ax,0
mov es,ax
cli
...
stack segment stack
dw 128 dup (0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,256
mov ax,seg code
mov ds,ax
mov si,offset sqr_st
mov ax,20h
mov es,ax
mov di,0
mov cx,offset sqr_end-offset sqr_st
cld
rep movsb
mov ax,0
mov es,ax
cli
...
阅读全文 |
评论次数(3) |
浏览次数(693) |
所属类型(汇编作业)
[2008-06-07 12:13] 书学完了,可以学C了吗?
这本书学完了,只是掌握了最基本的编程知识,那么王爽老师的汇编语言学完了,是否就可以有学习高级语言C的基础了呢?
或者说,向高级语言发展,还需要掌握些什么基础知识吗?...
或者说,向高级语言发展,还需要掌握些什么基础知识吗?...
阅读全文 |
评论次数(7) |
浏览次数(841) |
所属类型(默认类型)
[2008-06-06 13:27] 第十六章·实验16
assume cs:code
code segment
start: mov ax,code
mov ds,ax
mov si,offset sqr_st
mov ax,seg a
mov es,ax
mov di,offset a
mov cx,offset sqr_end-offset sqr_st
cld
rep movsb
cli
mov ax,0
mov es,ax
mov ax,offset a
mov word ptr es:[4*7ch],ax
mov word ptr es:[4*7ch+2],cs
sti
...
code segment
start: mov ax,code
mov ds,ax
mov si,offset sqr_st
mov ax,seg a
mov es,ax
mov di,offset a
mov cx,offset sqr_end-offset sqr_st
cld
rep movsb
cli
mov ax,0
mov es,ax
mov ax,offset a
mov word ptr es:[4*7ch],ax
mov word ptr es:[4*7ch+2],cs
sti
...
阅读全文 |
评论次数(4) |
浏览次数(902) |
所属类型(汇编作业)
[2008-06-06 13:26] 检测点16.2
mov ax,data
mov es,ax
在段中使用数据标号时,用assume进行相联,还得用mov ax,data
mov es,ax来相联...
mov es,ax
在段中使用数据标号时,用assume进行相联,还得用mov ax,data
mov es,ax来相联...
阅读全文 |
评论次数(1) |
浏览次数(680) |
所属类型(汇编作业)
[2008-06-06 13:23] 检测点16.1
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 a[8],ax
adc a[10],0
add si,2
loop s
mov ax,4c00h
int 21h
code ends
end start
因数据标号b是双字单元,所以不能直接用b来填空。...
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 a[8],ax
adc a[10],0
add si,2
loop s
mov ax,4c00h
int 21h
code ends
end start
因数据标号b是双字单元,所以不能直接用b来填空。...
阅读全文 |
评论次数(1) |
浏览次数(557) |
所属类型(汇编作业)
[2008-06-04 10:30] 第十五章·实验15
assume cs:code
stack segment
dw 64 dup (0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,128
mov ax,0
mov es,ax
cmp es:[9h*4],204h
jne s_sqr ;比较9号中断的入口地址是不是新的地址,如不是执行安装程序,若是则不用执行安装程序。
s0: ;mov ax,0
;mov es,0
;push es:[200h]
;pop es:[9h*4]
;push es:[2...
stack segment
dw 64 dup (0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,128
mov ax,0
mov es,ax
cmp es:[9h*4],204h
jne s_sqr ;比较9号中断的入口地址是不是新的地址,如不是执行安装程序,若是则不用执行安装程序。
s0: ;mov ax,0
;mov es,0
;push es:[200h]
;pop es:[9h*4]
;push es:[2...
阅读全文 |
评论次数(2) |
浏览次数(667) |
所属类型(汇编作业)
[2008-06-04 09:17] 检测点15.1
(1)
pushf
call dword ptr ds:[0]
CPU检测到中断后,将引发中断过程,中断过程由硬件完成:
1、取中断类型码;
2、标志寄存器入栈
3、置IF=0,TF=0
4,CS,IP入栈
5、从向量表中取该中断的入口地址。
对于新的int 9中断例程,既然进入此中断例程后,IF,TF已经置零,那么标志寄存器也已经入栈了(因为它是硬件完成的),如果在执行pushf,那其不是把IF,TF已经为零的标志寄存器再入栈一次?
那么,
IF=0,TF=0
pushf
call (原int 9中断例程)
iret
这里的pushf似乎只是为了对应iret的返...
pushf
call dword ptr ds:[0]
CPU检测到中断后,将引发中断过程,中断过程由硬件完成:
1、取中断类型码;
2、标志寄存器入栈
3、置IF=0,TF=0
4,CS,IP入栈
5、从向量表中取该中断的入口地址。
对于新的int 9中断例程,既然进入此中断例程后,IF,TF已经置零,那么标志寄存器也已经入栈了(因为它是硬件完成的),如果在执行pushf,那其不是把IF,TF已经为零的标志寄存器再入栈一次?
那么,
IF=0,TF=0
pushf
call (原int 9中断例程)
iret
这里的pushf似乎只是为了对应iret的返...
阅读全文 |
评论次数(2) |
浏览次数(642) |
所属类型(汇编作业)
[2008-06-03 00:37] 第十四章·实验14
assume cs:code
data segment
db 0,0,'/',0,0,'/',0,0,' ',0,0,':',0,0,':',0,0,'$' ;定义一个空间段,用来暂存时间数据。
data ends
code segment
ti_al: db 9,8,7,4,2,0 ;定义不同的al值组成的变量空间。带标号的只能放代码段里。。。。
start: mov ax,seg data
mov ds,ax
mov ax,seg code
mov es,ax
mov di,offset ti_al
mo...
data segment
db 0,0,'/',0,0,'/',0,0,' ',0,0,':',0,0,':',0,0,'$' ;定义一个空间段,用来暂存时间数据。
data ends
code segment
ti_al: db 9,8,7,4,2,0 ;定义不同的al值组成的变量空间。带标号的只能放代码段里。。。。
start: mov ax,seg data
mov ds,ax
mov ax,seg code
mov es,ax
mov di,offset ti_al
mo...
阅读全文 |
评论次数(1) |
浏览次数(605) |
所属类型(汇编作业)
『 查看更多文章 』