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

我的博客

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

[2012-11-29 00:11] 第七章实验与笔记

实验6
assume cs:codesg,ds:datasg,ss:stacksg

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

stacksg segment
        dw 0,0,0,0,0,0,0,0
stacksg ends

codesg segment
        start : mov ax,stacksg
        mov ss,ax
        mov sp,10H
        mov ax,datasg
        mov ds,ax
        mov bx,0
        
        mov cx,4
        
        s0 : push cx
        mov si,3
        mov cx,4
        
                s1 : mov al,[bx+si]
                and al,11011111b
                mov [bx+si],al
                inc si
                loop s1
                
        pop cx
        add bx,10H
        loop s0
        
        mov ax,4c00H
        int 21H
codesg ends
end start

======================================================================
第七章笔记
1.位运算指令:
逻辑与:and, 主要用于将操作对象的某位设为0,2个操作数相同位同时为1时,则结果数该位的值为1
逻辑与:and, 主要用于将操作对象的某位设为1,2个操作数相同位只要有一个1,则结果数该位的值为1
2.常用ASCII码:
41H ‘A’,61H ‘a’, 31H ‘1’
3.声明字符时,需要将字符用单引号标明。编译器将字符转换为对应的ASCII码,如 db 'a' 相当于 db 61H
4.字符中字母的转换:
将小写字符和 11011111b 进行 and 运算 ,得到大写字符
将大写字符和 00100000b 进行 or 运算 ,得到小写字符
5.内存的寻址方式:
[bx] :数据段中偏移地址为bx的内存单元
[bx + idata]或者idata[bx]或者[bx].idata :数据段中偏移地址为(bx的值加上idata的值)的内存单元
[bx + si] :数据段中偏移地址为(bx的值加上si的值)的内存单元
[bx + si + idata] :数据段中偏移地址为(bx的值加上si的值再加上idata)的内存单元
6.si 和 di 的功能与 bx 相似,作为偏移地址
7.处理多层循环时,可将 cx 的值存放在内存单元中(暂时保存可以放入栈中)
评论次数(0)  |  浏览次数(368)  |  类型(汇编作业) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码