- [cutebe] 相当牛,这个苦思冥想也值了。^_^ 11/30 00:00
- [parse] 如果忽略消息循环,那么操作系统加载的程序很快就执行完了,就像DOS程序一闪而过,所以CPU会空闲下来 06/30 09:04
- [游客] 楼主好厉害,挺一下! 01/19 08:43
- [游客] 很不错。 01/04 18:36
- [chinatree] 潜力贴留名,沙发。 11/08 12:58
- [youthangel] 恩,这次对了 10/30 18:56
- [fpamc] mov bx,18 在这条指令的上边是不是要加一条sub dx,dx? 10/30 10:03
- [fpamc] 对的 10/27 11:19
- [fpamc] 对的 10/27 09:00
- [fpamc] 哦,对不起,看错了。实验13也有一个7ch中断 10/27 08:52
- [游客] 现在急需一个汇编大作业。。。。。。可以么。。。。。如果今天之内看见留言 就加 1765496715 12/28 16:52
- [youthangel] 这算是对我学习的鼓励吗?谢谢!咱们这样交流就可以了 10/11 15:48
- [fpamc] 多日观察,你的学习积极性挺高的。可以来我们群了。群号:75916434 10/11 10:58
[2013-03-11 19:18] 课程设计一(修改)
;#mode=dos
assume cs:code,ds:data,ss:stack
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984'
db '1985','1986','1987','1988','1989', '1990','1991','1992','1993','1994','1995'
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197...
assume cs:code,ds:data,ss:stack
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984'
db '1985','1986','1987','1988','1989', '1990','1991','1992','1993','1994','1995'
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197...
阅读全文 |
评论次数(0) |
浏览次数(798) |
所属类型(汇编作业)
[2012-11-17 10:21] 综合实验4
1、 Link error :Undefined symbol “_main_” on module cos
2、
1908:0000 55 PUSH BP
1908:0001 8BEC MOV BP,SP
1908:0003 BB00B8 MOV BX,B800
1908:0006 8EC3 MOV ES,BX
1908:0008 BB9006 MOV BX,0690
1908:000B 26 ES:
1908:000C C6076...
2、
1908:0000 55 PUSH BP
1908:0001 8BEC MOV BP,SP
1908:0003 BB00B8 MOV BX,B800
1908:0006 8EC3 MOV ES,BX
1908:0008 BB9006 MOV BX,0690
1908:000B 26 ES:
1908:000C C6076...
阅读全文 |
评论次数(0) |
浏览次数(763) |
所属类型(汇编作业)
[2012-11-15 11:33] 综合实验3
main()
{
*(char *)0x2000='a';
*(int *)0x2000=0xf;
*(char far *)0x20001000='a';
_AX=0x2000;
*(char *)_AX='b';
_BX=0x1000;
*(char *)(_BX+_BX)='a';
*(char far *)(0x20001000+_BX)=*(char *)_AX;
//最好一句是mov byte ptr 2000:(1000+bx) , ds:[ax] bx=1000h , ax=2000h。下面的编译可能有错误
}
190...
{
*(char *)0x2000='a';
*(int *)0x2000=0xf;
*(char far *)0x20001000='a';
_AX=0x2000;
*(char *)_AX='b';
_BX=0x1000;
*(char *)(_BX+_BX)='a';
*(char far *)(0x20001000+_BX)=*(char *)_AX;
//最好一句是mov byte ptr 2000:(1000+bx) , ds:[ax] bx=1000h , ax=2000h。下面的编译可能有错误
}
190...
阅读全文 |
评论次数(0) |
浏览次数(816) |
所属类型(汇编作业)
[2012-11-14 17:59] 综合实验二
1、
main()
{
_AX=1;
_BX=2;
_CX=_AX+BX;
}
查看编译后的机器码和汇编代码为
1908:0000 BA5F19 MOV DX,195F
1908:0003 2E CS:
1908:0004 8916F801 MOV [01F8],DX
1908:0008 B430 MOV AH,30
1908:000A CD21 INT 21 ;取dos版本号
1908:000C 8B2E0200 MOV ...
main()
{
_AX=1;
_BX=2;
_CX=_AX+BX;
}
查看编译后的机器码和汇编代码为
1908:0000 BA5F19 MOV DX,195F
1908:0003 2E CS:
1908:0004 8916F801 MOV [01F8],DX
1908:0008 B430 MOV AH,30
1908:000A CD21 INT 21 ;取dos版本号
1908:000C 8B2E0200 MOV ...
阅读全文 |
评论次数(0) |
浏览次数(762) |
所属类型(汇编作业)
[2012-11-14 17:54] 综合实验一
除了tc.exe外还需要
1、C0S.OBJ
2、CS.LIB
3、EMU.LIB
4、GRAPHICS.LIB
5、MATHS.LIB...
1、C0S.OBJ
2、CS.LIB
3、EMU.LIB
4、GRAPHICS.LIB
5、MATHS.LIB...
阅读全文 |
评论次数(0) |
浏览次数(811) |
所属类型(汇编作业)
[2012-11-14 17:51] 课程设计二
comment ;
1、编写本地程序
①把引导程序写入软盘0面0道1扇区
②把子程序写到软盘0面0道2—5扇区
2、编写软盘程序
①引导程序,从软盘中读出子程序写到0:200内存中
②子程序,菜单,重启、引导现有程序、显示时间、设置时间、清屏
其中,显示时间中按键改变颜色,设置时间中接受字符串
;
;#mode=dos
code segment
assume cs:code
start:
;写软盘的程序
mo...
1、编写本地程序
①把引导程序写入软盘0面0道1扇区
②把子程序写到软盘0面0道2—5扇区
2、编写软盘程序
①引导程序,从软盘中读出子程序写到0:200内存中
②子程序,菜单,重启、引导现有程序、显示时间、设置时间、清屏
其中,显示时间中按键改变颜色,设置时间中接受字符串
;
;#mode=dos
code segment
assume cs:code
start:
;写软盘的程序
mo...
阅读全文 |
评论次数(0) |
浏览次数(355) |
所属类型(汇编作业)
[2012-10-28 14:54] 实验十七和检测点17.1
实验十七
;这个实验需要用虚拟机,建议装个vmware
assume cs:code
code segment
start:
;安装程序
push cs
pop ds
mov si,offset begin
mov ax,0
mov es,ax
mov di,20...
;这个实验需要用虚拟机,建议装个vmware
assume cs:code
code segment
start:
;安装程序
push cs
pop ds
mov si,offset begin
mov ax,0
mov es,ax
mov di,20...
阅读全文 |
评论次数(2) |
浏览次数(616) |
所属类型(汇编作业)
[2012-10-27 09:38] 实验十六
comment ;
这个程序是学王爽老师的汇编以来第一次遇到难题,而且还无从下手。
debug了数次无果,最后参考了一下其他网友的经验,才得知以下知识点
1、数据标号table在编译时被赋予的偏移地址是相对于安装程序的,所以把它放在整个程序的开头
2、同时修改7ch的中断向量表时,(cs)=20h,(ip)=0,这样方便根据偏移找到table
;
assume cs:code
code segment
;----------------重写中断--------------
...
这个程序是学王爽老师的汇编以来第一次遇到难题,而且还无从下手。
debug了数次无果,最后参考了一下其他网友的经验,才得知以下知识点
1、数据标号table在编译时被赋予的偏移地址是相对于安装程序的,所以把它放在整个程序的开头
2、同时修改7ch的中断向量表时,(cs)=20h,(ip)=0,这样方便根据偏移找到table
;
assume cs:code
code segment
;----------------重写中断--------------
...
阅读全文 |
评论次数(1) |
浏览次数(640) |
所属类型(汇编作业)
[2012-10-27 08:44] 第十六章检测点
(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[10h],ax
...
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[10h],ax
...
阅读全文 |
评论次数(1) |
浏览次数(600) |
所属类型(汇编作业)
[2012-10-26 17:18] 检测点15.1
(1)
pushf
call dword ptr ds:[0]
(2)
修改中断向量表时时,注意屏蔽中断...
pushf
call dword ptr ds:[0]
(2)
修改中断向量表时时,注意屏蔽中断...
阅读全文 |
评论次数(1) |
浏览次数(305) |
所属类型(汇编作业)