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

我的博客

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

[2012-11-21 14:32] 第10章 课程设计1

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

[2012-11-20 16:40] 第10章 实验10 编写子程序

assume cs:code

data segment
  db 'Welcome to masm!',0
data ends

numberdata segment
  dw 123,12666,1,8,3,38
numberdata ends

code segment
start:
  ;测试显示函数
  mov dh,8
  mov dl,3
  mov cl,2
  mov ax,data
  mov ds,ax
  mov si,0
  call show_str
  
  ;测试除法
  mov ax,0FFFFH
  mov dx...
阅读全文 | 评论次数(0) | 浏览次数(180) | 所属类型(汇编作业)

[2012-11-20 10:25] 第10章 检测点10.5(2)的解析

assume cs:codesg

stack segment 
 dw 8 dup (0)
stack ends 

codesg segment 
start: 
        mov ax,stack
        mov ss,ax
        mov sp,16
        mov word ptr ss:[0],offset s
        mov ss:[2],cs
        call dword ptr ss:[0]
        nop
s:
        mov ax,offset s
        sub ax,ss:[0cH]
        mov bx,cs
        sub bx,ss:[0eH]
        mov ax,4c00h
        int 21...
阅读全文 | 评论次数(0) | 浏览次数(175) | 所属类型(汇编作业)

[2012-11-19 15:42] 第9章 实验9 根据材料编程

assume cs:codesg,ds:datasg

datasg segment
  db 'welcome to masm!'
datasg ends

color segment
  db 00000010B ;黑底绿字
  db 00100100B ;绿底红字
  db 01110001B ;白底蓝字
color ends

stack segment
  dw 0,0,0,0, 0,0,0,0
stack ends

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

[2012-11-19 12:04] 第9章 转移指令的原理

可以修改IP,或同时修改CS和IP的指令统称为转移指令。
    段内转移只修改IP,分为短转移和近转移。
    转移指令可以分为:无条件转移指令,条件转移指令,循环指令,过程,中断这五类。
    offset取得段偏移地址。
    jmp为无条件转移指令,jmp shor只修改IP,范围为-128~127.
    注意jmp在只修改IP时,使用的是相对地址,所以同一个指令在不同地址执行起来转移到的地方是不一样的。
    jmp far ptr实现段间转移(远转移),同时修改CS和IP。
    可以使用jmp 16位reg实现转移。
    可以使用jmp word...
阅读全文 | 评论次数(0) | 浏览次数(201) | 所属类型(默认类型)

[2012-11-16 15:27] 第8章 实验7 24行的解法

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

[2012-11-16 11:26] 第8章 数据处理的两个基本问题

本章重点问题:处理的数据放在什么地方;要处理的数据有多长。
    1.[bx]的基址是ds,[bp]的基址是ss。所以bx,bp不能在一起做偏移的寻址,si和di默认基址是ds,但若和bp一起使用则基址为ss。另外,si+-di不能在没有bx或bp的时候作运算。
    2.指令执行前数据可以在3个地方:内存,寄存器,指令缓冲器。
    3.数据位置表达方式:立即数,寄存器,段地址+偏移地址
    4.五种寻址方式:直接,寄存器间接,寄存器相对,基址变址,相对基址变址。
    5.指令要处理的数据长度由db,dw,dd指定,push和pop是固定对dw操作的。
    6....
阅读全文 | 评论次数(0) | 浏览次数(185) | 所属类型(默认类型)

[2012-11-16 09:34] 第7章 更灵活的定位内存地址的方法

这章增加了一些常用的指令使用方法,但没有小结,我就自己小结一下。
    1.and和or,用于位的与或,是一个很基础的逻辑操作用法,一定要灵活掌握。像(n+40H-1)&~(40H-1)和n&~(40H-1)是什么意思应该熟悉。
    2.使用逻辑操作实现大小写的转换
    3.[bx+idata]来指明一个内存单元,在这里,我认为这个操作既然是一条指令,那么中间就不应该有中断发生的,但bx+idata这个地址结果是要经过计算的,取地址的器件取的时候是肯定需要计算的(或者先偏移bx再偏移idata,终究是要两次),但这个过程不会被中断?我表示有点疑问。
    4.数组的处理无非...
阅读全文 | 评论次数(0) | 浏览次数(184) | 所属类型(默认类型)

[2012-11-16 09:15] 问题7.9 将datasg段中每个单词的前4个字母改为大写字母

assume cs:codesg,ds:datasg

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

stack segment
        dw 0,0,0,0, 0,0,0,0
stack ends

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

[2012-11-15 11:28] 第6章 实验5 第6题 疑问

点击查看原图
以下程序执行起来出了一个我无法解析的问题。循环执行到cx=3时,add bx,2执行后居然出现乱跳转的情况,目前还没搞清楚到底怎么一回事。
assume cs:code
a segment
        dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
a ends

b segment
        dw 0,0,0,0,0,0,0,0
b ends

code segment

start:
        mov ax,b
        mov ss,ax
        mov ax,10h
   ...
阅读全文 | 评论次数(1) | 浏览次数(229) | 所属类型(默认类型)
『 查看更多文章 』