汇编网首页登录博客注册
keyia的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
好友圈
友情链接

[2009-05-30 14:58] 研究试验5 (3)实现一个简单的printf函数,只需要支持

void NewPrintf(char *formats,...);
main()
{
    NewPrintf("%d %d %c%c%c%c",main,2009,'a','b','c','d');
}
void NewPrintf(char *fmt,...)
{
    int state,i,m,n,x,duffer[10];
    x=n=m=i=state=0;                                /* i在屏幕的位置,state判断%后的状态,m在参数的位置 */
    for (n=0;n<10;++n)
        duffer[n]=0;                                /* 初始化数组 */
...
阅读全文 | 评论次数(5) | 浏览次数(1015) | 所属类型(汇编作业)

[2009-05-27 21:10] 研究试验5 函数如何接收不定数量的参数(1)~(2)

研究试验5 函数如何接收不定数量的参数
(1) 写一个程序a.c
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函数如何给sho...
阅读全文 | 评论次数(2) | 浏览次数(1074) | 所属类型(汇编作业)

[2009-05-27 20:56] 研究试验4 不用main函数编程(7)~(10)

(7) 用debug找到m.exe中调用main函数的call指令的偏移地址,从这个偏移地址开始向后察看10条指令;然后用debug加载c0s.exe,从相同的偏移

地址开始向后察看10条指令。对两处的指令进行对比。
F:\dosimg\minic>debug m.exe
-u 11a
13D6:011A E8DD00        CALL    01FA
13D6:011D 50            PUSH    AX
13D6:011E E8F700        CALL    0218
13D6:0121 2E            CS:
13D6:0122...
阅读全文 | 评论次数(1) | 浏览次数(1119) | 所属类型(汇编作业)

[2009-05-21 22:53] 研究试验4 不用main函数编程(1)~(6)

点击查看原图
研究试验4 不用main函数编程
f.c:

f()
{
    *(char far *)(0xb8000000+160*10+80)='a';
    *(char far *)(0xb8000000+160*10+81)=2;
}
(1)把程序f.c保存在\minic下,对其进行编译,连接。思考相关的问题。
问题:
1. 编译和连接哪个环节会出问题?
答:连接出错
2. 显示出的错误信息是什么?
答:显示出的错误信息是
Linking:CS.LIB
...
Errors:1

Linker Error: Undefined symbol '_main'...
阅读全文 | 评论次数(2) | 浏览次数(1098) | 所属类型(汇编作业)

[2009-05-21 15:37] 研究试验3 使用内存空间(5)

(5)下面的程序向安全的内存空间写入从"a"到"h"的8个字符,理解程序的含义,深入理解相关的知识。

#define Buffer ((char *)*(int far *)0x02000000)
main ()
{
  Buffer=(char *)malloc(20);
  Buffer[10]=0;
  while(Buffer[10] !=8)
  {
    Buffer[Buffer[10]]='a'+Buffer[10];
    Buffer[10]++;
  }
}

分析:
1、语句一:
#define Buffer ((char *)*(...
阅读全文 | 评论次数(2) | 浏览次数(1042) | 所属类型(汇编作业)

[2009-04-22 23:54] 研究试验3 使用内存空间(1)~(4)

研究试验3 使用内存空间

用minic目录下的tc.exe,完成下面的试验。
(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;
}

-u1fa
13C7:01...
阅读全文 | 评论次数(3) | 浏览次数(932) | 所属类型(汇编作业)

[2009-04-22 21:50] 研究试验2 使用寄存器

研究试验2 使用寄存器
用minic目录下的tc.exe完成以下试验。
(1)编写一个程序ur1.c

main()
{
  _AX=1;        /* MOV AX,1 */
  _BX=1;
  _CX=2;
  _AX=_BX+_CX;
  _AH=_BL+_CL;
  _AX=_BH+_CH;
}

(2)用debug加载ur1.exe,用u命令查看ur1.c编译后的机器码和汇编代码。
思考:main函数的代码在什么段?用debug怎样找到ur1.exe中main函数的代码?

-u 1fa
13CF:01FA 55            PU...
阅读全文 | 评论次数(1) | 浏览次数(1005) | 所属类型(汇编作业)

[2009-04-22 21:48] 研究试验1 搭建一个精简的C语言开发环境

研究试验1 搭建一个精简的C语言开发环境

[.]            [..]           C0S.OBJ        CS.LIB         EMU.LIB
GRAPHICS.LIB   MATHS.LIB      SIMPLE.BAK     SIMPLE.C       SIMPLE.EXE
SIMPLE.OBJ     TC.EXE...
阅读全文 | 评论次数(4) | 浏览次数(714) | 所属类型(汇编作业)

[2009-04-10 20:36] 课程设计2

课程设计2

代码如下:

;****************************************
;Copyright (c) 2009,10 Keyia.  
;All rights no reserved.
;****************************************


assume cs:code
code segment
;0面0道1扇区
;****************************************
bootio:   org 7c00h
          jmp bootstart
    ...
阅读全文 | 评论次数(6) | 浏览次数(842) | 所属类型(汇编作业)

[2009-04-01 10:36] 推荐博文 实验17 编写包含多个功能子程序的中断例程

实验17 编写包含多个功能子程序的中断例程

逻辑扇区的编号方法如下:
物理扇区号        逻辑扇区号
0面0道1扇区       0
0面0道2扇区       1
0面0道3扇区       2
0面0道4扇区       3
...
0面0道18扇区      17
0面1道1扇区       18
0面1道2扇区       19
0面1道3扇区       20
0面1道4扇区       21
...
0面1道18扇区      35
0面2道1扇区       36
0面2道2扇区       37
0面2道3扇区       38
0...
阅读全文 | 评论次数(5) | 浏览次数(1492) | 所属类型(汇编作业)
『 查看更多文章 』