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

我的博客

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

[2012-05-18 22:18] 实验十五

点击查看原图
我有一个疑问,就是为什么换成大括号里面的内容后,就不行呢?
我感觉,一样的啊。。。。。。


assume cs:code

stack segment
  db 128 dup (0)
stack ends

code segment

start:mov ax,stack
      mov ss,ax
   mov sp,128
   
   push cs
   pop ds
   
   xor ax,ax
   mov es,ax
   
   mov si,offset int9
   mov di,204h
   mov cx,o...
阅读全文 | 评论次数(2) | 浏览次数(286) | 所属类型(汇编作业)

[2012-05-18 22:17] 第15章作业

第十五章
检测点15.1
(1) 仔细分析一下书中的in9中断例程,看看是否可以精简一下?
其实在我们的int 9中断例程中,模拟int指令调用原int 9中断例程的程序段是可以精简的,因为在进入中断例程后,IF和TF都已置0,没有必要再进行设置了,对于程序段:
 pushf    ;标志寄存器入栈
 pushf
 pop bx
 and bh,11111100b  ;IF和TF为flag的第9位和第8位
 push bx
 popf ;TF=0,IF=0
 call dword ptr ds:[0] ;CS、IP入栈;(IP)=ds:[0],(CS)=ds:[2]

...
阅读全文 | 评论次数(2) | 浏览次数(244) | 所属类型(汇编作业)

[2012-05-15 23:18] DOS和BIOS中断大全chm

前两天,头脑一热,想到弄个中断宝典,想到以后可能用到。 
所以在网上搜罗,结果搜到一个相对还好些的chm。 
但是,唯一的缺点就是没有目录索引。很乱的感觉, 
所以为了方便,就自己鼓捣了好几小时,自己编译了一个带索引目录的,有分类的chm。 
嘿,为了大家方便,我就发上来。如果不好,就凑活看吧……~~O(∩_∩)O~~ 

我把它放到了我的115网盘了, 
这是连接 
http://115.com/file/dpvtn636





刚才忘了压缩……...
阅读全文 | 评论次数(5) | 浏览次数(260) | 所属类型(自娱自乐)

[2012-05-15 18:02] 实验十四(扩展)

点击查看原图
assume cs:code

code segment

 db 32h,9,8,7,4,2,0,0,"// ::",0   ;设置端口单元号和字符

start:mov ax,cs
     mov ds,ax
  mov ax,0b800h
  mov es,ax
s:  xor bx,bx
  mov di,13*160+2*28
  mov cx,7                 ;初始化各寄存器
  
time:push cx
  mov al,[bx]
  out 70h,al
  in al,71h
  mov ah,al
  mov c...
阅读全文 | 评论次数(9) | 浏览次数(256) | 所属类型(汇编作业)

[2012-05-10 19:51] 第十四章笔记

第十四章 端口
在PC机系统中,和cpu通过总线相连芯片除各种寄存器外,还有以下3种芯片:
① 各种接口卡上的接口芯片,他们控制接口卡进行工作;
② 主板上的接口芯片,cpu通过他们对部分外设进行访问;
③ 其他芯片,用来存储相关的系统消息,或进行相关的输入输出处理。

从cpu的角度,将这些寄存器都当做端口,对他们进行统一编址从而建立了一个统一的端口地址空间,每一个端口在地址空间中都有一个地址。

cpu可以直接读写以下三个地方的数据:
① cpu内部的寄存器;
② 内存单元;
③ 端口

在PC系统中,cpu最多可以定位64KB个不同的端口,则端口地址的范围为0~...
阅读全文 | 评论次数(1) | 浏览次数(222) | 所属类型(汇编笔记)

[2012-05-10 19:47] 实验14(动态)

点击查看原图
assume cs:code

data segment
  db "// :: "                    ;设置符号
  db 9,8,7,4,2,0                 ;设置端口单元号
data ends

code segment

start:mov ax,data
     mov ds,ax
  mov si,0
  mov ax,0b800h
  mov es,ax
  mov di,13*160+2*30
  mov cx,6                    ;初始化各寄存器
  
time:push cx ...
阅读全文 | 评论次数(7) | 浏览次数(670) | 所属类型(汇编作业)

[2012-05-10 19:45] 第十四章作业

第十四章

检测点14.1 读取写入CMOS RAM单元内容
(1)编程,读取CMOS RAM的2号单元内容。 

assume cs:code 
code segment 
start:  mov al,2        ;赋值al 
        out 70h,al      ;将al送入端口70h 
        in al,71h       ;从端口71h处读出单元内容 
        mov ax,4c00h 
        int 21h 
code ends 
end start

(2)编程,向CMOS RAM的2号单元写入0。 
...
阅读全文 | 评论次数(1) | 浏览次数(268) | 所属类型(汇编作业)

[2012-05-07 09:36] 关于检测点13.1(1)的问题!

用中断例程代替loop指令功能,所能进行的最大位移是多少?

起初,我的思路是,因为bx的最大值是0FFFFH,所以我想应该是0FFFFH。

但是在今天复习的时候,突然灵光一线!
想到用前面的标号来减去后面的标号,其结果必然是负数。所以,最大位移为负数最大数。
那么,当bx为8000H时,为最大的负数,那么。最大位移就应该是-32768

我感觉这才是对的,希望各位同学和老师共同探讨研究哈!~~O(∩_∩)O~~...
阅读全文 | 评论次数(6) | 浏览次数(256) | 所属类型(自娱自乐)

[2012-05-06 21:06] 第十三章笔记

第十三章 int指令
int指令的格式为:int n,n为中断类型码,它的功能是引发中断过程。
可以在程序中使用int指令调用任何一个中断的中断处理程序。
一般情况下,系统将一些具有一定功能的子程序,以中断处理程序的方式提供给应用程序调用。

int指令和iret指令的配合使用与call指令和ret指令的配合使用具有相似的思路。

编写中断例程和子程序的时候,应该注意例程中用到的寄存器的值的保存和恢复。(成对编程)
可以利用iret指令,用栈中的内容修改cs、ip。

BIOS中主要包含以下几部分内容:
① 硬件系统的检测和初始化程序;
② 外部中断和内部中断的中断例程...
阅读全文 | 评论次数(2) | 浏览次数(231) | 所属类型(汇编笔记)

[2012-05-06 21:04] 实验十三(三)

点击查看原图
分别在屏幕的第2、4、6、8行显示4句英文诗,补全代码。

assume cs:code
code segment
  s1: db 'Good,better,best,','$'
  s2: db 'Never let it rest,','$'
  s3: db 'Till good is better,','$'
  s4: db 'And better,best.','$'
  s : dw offset s1,offset s2,offset s3,offset s4
  row: db 2,4,6,8
  
start:mov ax,cs
     mov ...
阅读全文 | 评论次数(1) | 浏览次数(252) | 所属类型(汇编作业)
页码数(7):  1  2  3  4  5  6  7