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

我的博客

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

[2010-07-15 23:42] 实验9  根据材料编程

;welcome to masm! 共16个字符,一行是80个字符,字符串应该从第32列开始显示
;显示3行字符,一共是25行,所以字符串应该从第12行开始显示
;B8000H---B8F9FH是第一页显示的内存,一页中的坐标(行,列)的内存位置的计算:B8000+(行*80+列)*2

assume cs:codesg

data segment
    db 'welcome to masm!'        ;定义显示的字符
    db 02H, 24H, 71H                ;定义显示字符的颜色属性
data ends

stack segment
    db 16 dup (0)...
阅读全文 | 评论次数(0) | 浏览次数(336) | 所属类型(汇编作业)

[2010-07-15 23:41] 实验8  分析一个奇怪的程序

分析下面的程序,在运行前思考:这个程序可以正确返回吗?
运行后再思考:为什么是这种结果?
通过这个程序加深对相关内容的理解。
assume cs:codesg
codesg segment
    mov ax, 4c00H
    int 21H

start:mov ax, 0
    s:nop
      nop

      mov di, offset s
      mov si, offset s2
      mov ax, cs:[si]
      mov cs:[di], ax

   s0:jmp short s
   s1:mov...
阅读全文 | 评论次数(0) | 浏览次数(382) | 所属类型(汇编作业)

[2010-07-15 23:41] 检测点9.3

补全编程,利用loop指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中
assume cs:code
code segment
    start:mov ax, 2000H
          mov ds, ax
          mov bx, 0
        s:mov cl, [bx]
          mov ch, 0
          inc cx
          inc bx
          loop s
       ok:dec bx
          mov dx, bx
          mov ax, 4c00H
          int 21h
code ends
...
阅读全文 | 评论次数(0) | 浏览次数(369) | 所属类型(汇编作业)

[2010-07-15 23:41] 检测点9.2

补全编程,利用jcxz指令,实现在内存2000H段中查找第一个值为0的字节,到到后,将它的偏移地址存储在dx中。
assume cs:code
code segment
    start:mov ax, 2000H
          mov ds, ax
          mov bx, 0
        s:mov cl, [bx]
          mov ch, 0
          jcxz ok
          inc bx
          jmp short s
       ok:mov dx, bx
          mov ax, 4c00H
          int 21h
code ends
end start...
阅读全文 | 评论次数(0) | 浏览次数(333) | 所属类型(汇编作业)

[2010-07-15 23:40] 检测点9.1

(1)程序如下
assume cs:code
data segment
    db 3 dup (0) 
data ends

code segment
    start:mov ax, data
          mov ds, ax
          mov bx, 0
          jmp word ptr [bx+1]

          mov ax, 4c00h
          int 21h
code ends
end start
若要使程序中的jmp指令执行后,CS:IP指向程序的第一条指令,在data段中应该定义哪些数据?
(2)程序如下:
assume cs:code
d...
阅读全文 | 评论次数(0) | 浏览次数(383) | 所属类型(汇编作业)

[2010-07-15 23:39] 第九章、转移指令的原理 笔记

可以修改IP,或同时修改CS和IP的指令统称为转移指令。概括地讲,转移指令就是可以控制CPU执行内存中某处代码的指令。
8086CPU的转移行为有以下几类:
        只修改IP时,称为段内转移,比如:jmp  ax。
        同时修改CS和IP时,称为段间转移,比如:jmp  1000:0
由于转移指令对IP的修改范围不同,段内转移又分为:短转移和近转移
        短转移IP的修改范围为-128---127
        近转移IP的修改范围为-32768---32767
8086CPU的转移指令分为以下几类:
        无条件转移指令(如:jmp)
        条件转移指令
        循环指令
        过程
        中...
阅读全文 | 评论次数(0) | 浏览次数(332) | 所属类型(默认类型)

[2010-07-11 19:22] 实验7 寻址方式在结构化数据访问中的应用

assume cs:codesg
data segment
    db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
    db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
    db '1993','1994','1995'
    ;54H
    dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
    dd 345980,59...
阅读全文 | 评论次数(0) | 浏览次数(368) | 所属类型(汇编作业)

[2010-07-11 09:42] 实验6  实践课程中的程序

assume cs:codesg, ss:stacksg, ds:datasg
stacksg segment
    dw 0, 0, 0, 0, 0, 0, 0, 0
stacksg ends

datasg segment
    db '1. display      '
    db '2. brows        '
    db '3. replace      '
    db '4. modify       '
datasg ends

codesg segment
    start:mov ax, datasg
          mov ...
阅读全文 | 评论次数(0) | 浏览次数(385) | 所属类型(汇编作业)

[2010-07-10 22:45] 第八章学习笔记

8.1、bx、si、di和bp
1)        在8086CPU中,只有这4个寄存器可以用在”[…]”中来进行内存单元的寻址。
2)        在[…]中,这4个寄存器可以单个出现,或只能以4种组合出现:bx和si、bx和di、bp和si、bp和di。
3)        只要在[…]中使用寄存器bp,而指令中没有显性地给出段地址,段地址就默认在ss中。

8.2、机器指令处理的数据在什么地方
绝大部分机器指令都是进行数据处理的指令,处理大致可分为3类:读取、写入、运算。在机器指令这一层来讲,并不关心数据的值是多少,而关心指令执行前一刻,它将要处理的数据所在的位置。指令在执行前,所要处理的数据可以在3个地方:CPU...
阅读全文 | 评论次数(0) | 浏览次数(424) | 所属类型(默认类型)

[2010-07-10 22:44] 第七章学习笔记

7.1  and和or指令
(1)and指令:逻辑与指令,按位进行运算
     通过该指令可将操作对象的相应位设为0,其他位不变
(2)or指令:逻辑或指令,按位进行或运算
     通过该指令可将操作象的相应位设为1,其他位不变

7.2  关于ASCIIA码

7.3  以字符形式给出的数据
可以在汇编程序中,用’……’的方式指明数据是以字符的形式给出的,编译器将把它们转化为相对应的ASCII码。

7.4  大小写转换问题
(1)将小写字母转换成大写字母的方法:and 11011111B(0xDF)
(2)将大写字母转换成小写字母的方法:or 00100000...
阅读全文 | 评论次数(0) | 浏览次数(444) | 所属类型(默认类型)
『 查看更多文章 』