- [游客] 飘过 06/11 13:31
- [fpamc] 貌似我正在步入你的路线……`(*∩_∩*)′Up!Up! 05/24 07:46
- [782936509] 敢问高手你是什么基础开始学的,我没有基础想学编程可以的吗?很想成为一个编程员,希望多多指教,呵呵 12/24 19:26
- [aten] 上面的程序我忘记设置要写入的扇区数了,……-_-~! 08/07 15:50
- [keyia] 啊,如梦初醒!万分感谢 05/28 01:32
- [aten] 好久没来汇编网了,拿你调试的结果来说吧! F:\dosimg\>debug c0s.exe - 05/26 22:52
- [keyia] keyia:变成游客了 05/22 19:42
- [游客] 向您请教: (8)从上我们可以看出tc.exe把c0s.obj和用户obj文件一同进行连接,生成e 05/22 19:40
- [aten] dw 定义的应该是10个字单元,我写成了8个了!所以答案就成了20H 04/26 22:01
- [aten] 恩,^_^ 04/24 18:36
- [游客] 这个,你的那个安装INT9中断程序的程序有一点错误,以下这个是我改正后的: assume cs:c 10/08 07:28
- [游客] 没想到我想走的路和正在走的路你已经走过一遍了,可以的话请加865650570——凌陶 愿我们在同一 10/07 23:30
- [keyia] 向您请教: (8)从上我们可以看出tc.exe把c0s.obj和用户obj文件一同进行连接,生成 05/22 19:44
[2012-05-24 00:49] 半夜,再回首
从汇编开始学的编程之路,如今再回头看来,依然收获很大,感谢汇编网,加油,继续学习C语言!up...
阅读全文 |
评论次数(1) |
浏览次数(1243) |
所属类型(闲情乱记)
[2010-09-27 12:59] 标题真不知道写什么好
时隔一个春秋,回忆起曾在汇编网上点点滴滴的快乐,真的无言以表。如今再看自己当初写的作业,呵呵……!
记得学完《汇编语言》时,刚要学习C语言,生存问题迫使我不得不找份工作养活自己,学习断断续续,心里只有一个念头,就是坚持……!资本家的剥削,让我只能挤出少许时间学习,与人的交流基本没了!跑到网吧敲代码,有时候发现都是件非常快乐的事。
如今换了份工作,虽然还不是自己希望的编程方面的工作,却给了我更多的学习时间,如今再次来到这里,希望又是一个新的开始!
看着汇编论坛新人不断的加入,热血都开始沸腾,为了那梦想……,大家一起加油,up,up,up!
----------...
记得学完《汇编语言》时,刚要学习C语言,生存问题迫使我不得不找份工作养活自己,学习断断续续,心里只有一个念头,就是坚持……!资本家的剥削,让我只能挤出少许时间学习,与人的交流基本没了!跑到网吧敲代码,有时候发现都是件非常快乐的事。
如今换了份工作,虽然还不是自己希望的编程方面的工作,却给了我更多的学习时间,如今再次来到这里,希望又是一个新的开始!
看着汇编论坛新人不断的加入,热血都开始沸腾,为了那梦想……,大家一起加油,up,up,up!
----------...
阅读全文 |
评论次数(1) |
浏览次数(1568) |
所属类型(闲情乱记)
[2009-04-22 00:11] 研究实验5 函数如何接收不定数量的参数
void showchar(char a,int b);
main()
{
showchar('a',2);
}
void showchar(char a,int b)
{
*(char far *)(0xb8000000+160*10+80)=a;
*(char far *)(0xb8000000+160*10+81)=b;
}
用tc.exe对a.c进行编译,连接,生成a.exe.用debug加载a.exe,对函数的汇编代码进行分析。解答这两
个问题:main函数是如何给showchar传递参数的?showchar是如何接收参数的?
下面是反...
main()
{
showchar('a',2);
}
void showchar(char a,int b)
{
*(char far *)(0xb8000000+160*10+80)=a;
*(char far *)(0xb8000000+160*10+81)=b;
}
用tc.exe对a.c进行编译,连接,生成a.exe.用debug加载a.exe,对函数的汇编代码进行分析。解答这两
个问题:main函数是如何给showchar传递参数的?showchar是如何接收参数的?
下面是反...
阅读全文 |
评论次数(2) |
浏览次数(1313) |
所属类型(汇编作业)
[2009-04-21 15:13] 研究实验4 不用main函数编程
(1)程序f.c
f()
{
*(char far *)(0xb8000000+160*10+80)='a';
*(char far *)(0xb8000000+160*10+80)=2;
}
(1)把程序f.c保存在k:\minic下,对其进行编译,连接。思考相关问题!
问题:1 编译和连接哪个环节会出问题?
连接时出错!
2 显示出的错误信息是什么?
Linker Error:Undefinde symbol'_main'in module c0s
3 这个错误信息可能与哪个文件相关?
...
f()
{
*(char far *)(0xb8000000+160*10+80)='a';
*(char far *)(0xb8000000+160*10+80)=2;
}
(1)把程序f.c保存在k:\minic下,对其进行编译,连接。思考相关问题!
问题:1 编译和连接哪个环节会出问题?
连接时出错!
2 显示出的错误信息是什么?
Linker Error:Undefinde symbol'_main'in module c0s
3 这个错误信息可能与哪个文件相关?
...
阅读全文 |
评论次数(14) |
浏览次数(41791) |
所属类型(汇编作业)
[2009-04-21 13:17] 研究试验3 使用内存空间
(1)编写一个程序um1.c:
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;
}
1412:01FA 55 PUSH BP
1412:01FB 8BEC MOV B...
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;
}
1412:01FA 55 PUSH BP
1412:01FB 8BEC MOV B...
阅读全文 |
评论次数(2) |
浏览次数(1401) |
所属类型(汇编作业)
[2009-04-19 23:13] 研究试验2 使用寄存器
(1)编写一个程序ur1.c
main()
{
_AX=1;
_BX=1;
_CX=2;
_AX=_BX+_CX;
_AH=_BL+_CL;
_AL=_BH+_CH;
}
把这个程序保存在minic下,然后,编译,连接,生成ur1.exe.
(2)用Debug加载ur1.exe,用命令查看ur1.c编译后的机器码和汇编代码。
思考:main函数的代码在什么段中?用Debug怎样找到ur1.exe中main函数的代码?
分析:我用debug加载ur1.exe,用命令查看代码,发现完全看不出和ur1.exe有什么关系!……
(3)用下面的方法打印出...
main()
{
_AX=1;
_BX=1;
_CX=2;
_AX=_BX+_CX;
_AH=_BL+_CL;
_AL=_BH+_CH;
}
把这个程序保存在minic下,然后,编译,连接,生成ur1.exe.
(2)用Debug加载ur1.exe,用命令查看ur1.c编译后的机器码和汇编代码。
思考:main函数的代码在什么段中?用Debug怎样找到ur1.exe中main函数的代码?
分析:我用debug加载ur1.exe,用命令查看代码,发现完全看不出和ur1.exe有什么关系!……
(3)用下面的方法打印出...
阅读全文 |
评论次数(3) |
浏览次数(1147) |
所属类型(汇编作业)
[2009-04-19 22:37] 研究实验1 搭建一个精简的C语言开发环境
终于可以学C了,因为没学过C,所以看得有些激动,呵呵!
略……
想办法把所有tc.exe对程序simple.obj进行连接生成.exe文件必须用到的相关文件都找到,拷贝到k:\minic.注意,找的是必须用到的。
通过连接时的错误,我把要找的文件全都找了出来!
如下:
C0S.OBJ
EMU.LIB
MATHS.LIB
GRAPHICS.LIB
CS.LIB
这算是新的开始吧!...
略……
想办法把所有tc.exe对程序simple.obj进行连接生成.exe文件必须用到的相关文件都找到,拷贝到k:\minic.注意,找的是必须用到的。
通过连接时的错误,我把要找的文件全都找了出来!
如下:
C0S.OBJ
EMU.LIB
MATHS.LIB
GRAPHICS.LIB
CS.LIB
这算是新的开始吧!...
阅读全文 |
评论次数(3) |
浏览次数(1619) |
所属类型(汇编作业)
[2009-04-19 18:10] 课程设计二
课程设计2
阅读下面的材料:
开机后,CPU自动进入到FFFF:0单元处执行,此处有一条跳转指令。CPU执行该指令后,转去执行BIOS中的硬件系统检测和初始化程序。
初始化程序将建立BIOS所支持的中断向量,即将BIOS提供的中断例程的入口地址登记在中断向量表中。
硬件系统检测和初始化完成后,调用int 19h进行操作系统的引导。
如果设为从软盘启动操作系统,则int 19h将主要完成以下工作。
(1)控制0号软驱,读取软盘0道0面1扇区的内容到0:7c00;
(2)将CS:IP指向0:7c00。
软盘的0道0面1扇区中装有操作系统引导程序。int 19h将其装...
阅读下面的材料:
开机后,CPU自动进入到FFFF:0单元处执行,此处有一条跳转指令。CPU执行该指令后,转去执行BIOS中的硬件系统检测和初始化程序。
初始化程序将建立BIOS所支持的中断向量,即将BIOS提供的中断例程的入口地址登记在中断向量表中。
硬件系统检测和初始化完成后,调用int 19h进行操作系统的引导。
如果设为从软盘启动操作系统,则int 19h将主要完成以下工作。
(1)控制0号软驱,读取软盘0道0面1扇区的内容到0:7c00;
(2)将CS:IP指向0:7c00。
软盘的0道0面1扇区中装有操作系统引导程序。int 19h将其装...
阅读全文 |
评论次数(2) |
浏览次数(1427) |
所属类型(汇编作业)
[2009-04-13 19:21] 实验17 编写包含多个功能子程序的中断例程
安装一个新的中断例程int 7ch中断例程,实现通过逻辑扇区号对软盘进行读写。
参数说明:
(1)用ah寄存器传递功能号:0表示读,1表示写;
(2)用dx寄存器传递要读写的扇区的逻辑扇区号;
(3)用es:bx指向存储读出数据或写入数据的内存区。
对于这个实验,真是苦于没软区,对硬盘的读写又不行!就先闪到这吧!
程序如下:
assume cs:code
code segment
beg: jmp strt
ac db 16 dup (0) ;用于保存数据供int 13h用, 依次为 读/写,面号,磁道号,扇区号
...
参数说明:
(1)用ah寄存器传递功能号:0表示读,1表示写;
(2)用dx寄存器传递要读写的扇区的逻辑扇区号;
(3)用es:bx指向存储读出数据或写入数据的内存区。
对于这个实验,真是苦于没软区,对硬盘的读写又不行!就先闪到这吧!
程序如下:
assume cs:code
code segment
beg: jmp strt
ac db 16 dup (0) ;用于保存数据供int 13h用, 依次为 读/写,面号,磁道号,扇区号
...
阅读全文 |
评论次数(4) |
浏览次数(1782) |
所属类型(汇编作业)
[2009-04-13 18:20] 检测点17.1
“在int 16h中断例程中,一定有设置IF=1的指令。”这种说法对吗?
逛了下论坛,最后我认为这种说法是对的! -_-!!!有点像蒙!
在int 16h中断中,CPU一定还执行了int 9h号中断
下面是分析:(以我目前知识,只能这样分析,有点带猜)
int 9h号中断例程是向键盘缓冲区写入数据,int 16H号中断例程是向缓冲区读取键盘输入。
int 16h号中断有一特点:int 16h号中断例程检测键盘缓冲区,发现缓冲区空,则循环等待,直到缓冲区中有数据。停,先说这,这说明在int 16h中断过程中(int 16h中断在循环等待)能进行键盘输入,说...
逛了下论坛,最后我认为这种说法是对的! -_-!!!有点像蒙!
在int 16h中断中,CPU一定还执行了int 9h号中断
下面是分析:(以我目前知识,只能这样分析,有点带猜)
int 9h号中断例程是向键盘缓冲区写入数据,int 16H号中断例程是向缓冲区读取键盘输入。
int 16h号中断有一特点:int 16h号中断例程检测键盘缓冲区,发现缓冲区空,则循环等待,直到缓冲区中有数据。停,先说这,这说明在int 16h中断过程中(int 16h中断在循环等待)能进行键盘输入,说...
阅读全文 |
评论次数(1) |
浏览次数(1317) |
所属类型(汇编作业)