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

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
  •  十年磨一剑,我就不信不能学下去.
  • 『姓名』:达达
  • 『性别』:男『发送消息
  • 个人说明:从09年开始到2020年前,我一定一直深入写下去.
    只要每天多一点2020年再回首,不信不能提高到一个水平
  • 详细信息『加为好友』
学习动态
友情链接

[2009-08-02 22:05] 研究实验5

研究实验5
(1)
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;
        
        }
在程序中 DS,ES SS段相同
是用堆栈传值,改变堆栈的指向来取得压入的要传送的值
如下 ‘a’ 61 压入后 在取出前又压入2次 则bp+4就回到 61压入的内存位置

汇编部份代码
...
阅读全文 | 评论次数(2) | 浏览次数(824) | 所属类型(汇编作业)

[2009-07-28 18:00] 推荐博文 我自己写的双启动详细实现(代码+注解)

A)=========安装双系统:(用Virtual PC)============
步骤: 
1先装1个系统 
2 把D盘转为主(PQ中设),同时把这个设为主(我是在FDSIK下设的D为A主,在DOS下显示时C:就是显的原来D盘了) 
3 安装第2个系统 
4 运行自己写的代码 

B)============代码写的步骤============ 
1,先把原系统中MBR,复制到不用扇区  
2,再写在写MBR时(注意后4个字节.)选择并跳出 0:7C00送行.好在选择完成后重载原来MBR  
3,对于重载的原来MBR 对要启的分区表 头设80H,其它设0.一份在1BE ...
阅读全文 | 评论次数(18) | 浏览次数(5513) | 所属类型(汇编作业)

[2009-07-21 11:43] 研究实验4

(1)
1 连接出问题
2 在 C0s模式下没定义_main
3 很有可能与C0S.obj 有关
(2)
1 共 1d个字节
2 不能正常返回 没有 ah=4c int 21h
3 f函数偏移地址是0
(3)
1代码有0EB8H
2 能正常返回
3 F中在返回后,最后一条是MOV [008C],BX 而M中则是RET
(4)
1 调用的偏移地址是 11ah  
2  在偏移地址 151h处 mov ah,4c  156H int 21
(5)
1 应当是在TC LINK 时生成的
2 应当是,因为C0S.OBJ 是必须的文件,同时 同样的MASM 和TC2的L...
阅读全文 | 评论次数(5) | 浏览次数(433) | 所属类型(汇编作业)

[2009-07-20 16:08] 研究实验3

P331 
(1)
char 传到DS:偏移。char 后直接数值就用的 mov 内存。如果是AX,转为BX,再[BX]
char far   先将前面设在ES 后面用在ES的偏移
(2) 
main()
{
_BX=160*12+40*2;
*(char far *)(0xb8000000+_BX)='a';
*(int far *)(0xb8000000+_BX+1)=2;
}
(3)
编译显示警告啊 在函数内定义的变量提示 不会被使用啊,这是为什么啊,会出什么问题啊


全局变量代码段中在前部 1A6和以后  局部变量放在堆栈内的
push bp mov ...
阅读全文 | 评论次数(5) | 浏览次数(476) | 所属类型(汇编作业)

[2009-07-18 17:54] 研究实验2

(2)思考:MIAN肯定是在代码段。通过观测寄存器BX=1 CX=2来判断,如果不是就是还没到,如果是就是过了,一步步缩小范围。用P试了N下,发现太慢就用 P 数字。发现在 1FA处。这个方法很好啊,是可以用来 破解别人的好方法,我认为。

P90过了,P89未到,就在P89处改用T单步

(3)思考:我是样想的,MAIN(){}是对应汇编的子程序,所以写C语言的哥哥一定是把MAIN写汇编中的标号,所以MAIN对应的是子程序入口地址,而printf又是一段打字字符的子程序(这个子程序一定能实现对后面数或字符的显示输出)

(5)我在main(){} 和 f(void){}都加上了p...
阅读全文 | 评论次数(2) | 浏览次数(396) | 所属类型(汇编作业)

[2009-07-18 17:51] 研究实验1

思考:1)我们是以问题或目标出发 2)先用必要的文件或步骤或涉及的区域 3)根据返回的结果(错误提示)不断修正,缩小范围,以达到目的。...
阅读全文 | 评论次数(1) | 浏览次数(381) | 所属类型(汇编作业)

[2009-07-13 20:07] 课程设计2 终于免强完成

代码太多,没精简,用了3个扇区.我基本是按自己想法一点点写,所以用的SUB过程较少,同时时间输入缺少对月日时分秒的输入正确性验证.光标也未跟随.


assume cs:code 
code segment 
org 7c00h ;因为安装的程序会放入0:7C00H处,所以这样本程序对标号调用的偏移和安装后实际调用偏移一致
start: 
;*****************DESIGN2引导程序主程序*********************
;DESIGN初始化操作
mov ax,cs 
mov ds,ax 
mov es,ax 
mov ss,ax 
mov s...
阅读全文 | 评论次数(2) | 浏览次数(451) | 所属类型(汇编作业)

[2009-07-09 10:26] 检测点17.1

我认INT16中断一定有设置IF=1指令。我认为对

因为调用INT16,进入INT中断后 IF=0 TF=0。如果些时键盘缓冲区无数据则程序将在
INT16中不出来,要等到键盘缓冲区有数据。而键盘缓冲区需要按键并且,调用INT9才能
在键盘缓冲区存入数据。所以如果INT16内没设IF=1。则将在INT16中进入死循环,无法跳出来...
阅读全文 | 评论次数(1) | 浏览次数(409) | 所属类型(汇编作业)

[2009-07-08 20:45] 实验16 安装中断7CH,调用更改屏幕前背景色等

ASSUME CS:CODES

CODES SEGMENT
START:

;安装新INT7CH到 0:200h 
        MOV AX,CS 
        MOV DS,AX 
        MOV SI,SETSCREEN;DS:SI源的指定 
        MOV AX,0 
        MOV ES,AX 
        MOV DI,200H;目标的ES:DI的指定 
        CLD;正向 
        MOV CX,OFFSET SETSCREEN_END-OFFSET SETSCREEN;长度 
        RE...
阅读全文 | 评论次数(2) | 浏览次数(402) | 所属类型(汇编作业)

[2009-07-07 15:22] 检测点 16.2

MOV AX,DATA
MOV ES,AX...
阅读全文 | 评论次数(0) | 浏览次数(328) | 所属类型(汇编作业)
页码数(5):  1  2  3  4  5