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

我的博客

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

[2013-03-18 00:29] 将以0结尾的字符串中的小写字母转变成大小字母

;名称:letterc
;功能:将以0结尾的字符串中的小写字母转变成大小字母
;参数:ds:si指向字符串首地址
        letterc:push si
                let:cmp byte ptr [si],0
                        je s0        ;如果到了字符串结尾则跳到s0处。
                        
                        cmp byte ptr [si],97
                        jb s                ;如果小于97则跳至S
                        cmp byte ptr [si],122
                        ja s                ;如果大于122则跳至S
                        and byte ptr [si],11011111b;在97~122之间,则将CX转化为大写字母。

                        
                s:...
阅读全文 | 评论次数(0) | 浏览次数(226) | 所属类型(子程序)

[2013-03-17 09:58] 两个128位数据进行相加

;名称:        add128
;功能:        两个128位数据进行相加
;参数:        ds:si指向存储第一个数的内存空间,因数据为128位,所以需要8个单元,
;                由低地址单元到高地址单元依次存放128位数据由低到高的各个字。运算结果存储在
;                第一数的存储空间中。
;                ds:di指向存储第二个数的内存空间。

        add128: push ax
                        push cx
                        push si
                        push di
                        
                        sub ax,ax;将CF设置为0
                        
                        mov cx,8
                s:  mov ax,[si]
                        adc ax,[di]
                        mov...
阅读全文 | 评论次数(0) | 浏览次数(240) | 所属类型(子程序)

[2013-03-14 15:22] 将dword型数据转变为表示十进制数的字符串

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;        
;名称:dtoc(需调用divdw子程序,来解决除法溢出问题。)
;功能:将dword型数据转变为表示十进制数的字符串,字符串以0为结尾符。
;参数:(ax)=dword型数据的低16位
;           (dx)=dword型数据的高16位
;                ds:si指向字符串的首地址
;返回:无
                
        dtoc:        push ax
                        push bx
                        push cx
                        push dx
                        push di
                        push si
                        
                        mov di...
阅读全文 | 评论次数(0) | 浏览次数(230) | 所属类型(子程序)

[2013-03-13 22:09] 将word型数据转变为表示十进制数的字符串

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;        
;名称:dtoc
;功能:将word型数据转变为表示十进制数的字符串,字符串以0为结尾符。
;参数:(ax)=word型数据
;                ds:si指向字符串的首地址
;返回:无
                
        dtoc:        push si
                        push bx
                        push cx
                        push dx
                        
                        mov bx,0ah        ;用作除数,相当于十进制的10.
                        mov dx,0h        ;用作结尾符0
                        push dx                ;将结尾符0入栈,最后目的是调换字符串顺序。...
阅读全文 | 评论次数(0) | 浏览次数(314) | 所属类型(子程序)

[2013-03-13 11:10] 进行不会产生溢出的除法运算divdw

;名称:divdw
;功能:进行不会产生溢出的除法运算,被除数为dword型,除数为word型,结果为dword型。
;参数:(ax) = dword型数据的低16位
;     (dx) = dword型数据的高16位
;     (cx) = 除数

;返回:(dx) = 结果的高16位,(ax) = 结果的低16位
;           (cx) = 余数
;应用举例:计算1000000/10(F4240H/0AH)
        MOV AX,4240H
        MOV DX,000FH
        MOV CX,0AH
        CALL DIVDW
;结果:(DX) = 0001H,(AX)=86A0H...
阅读全文 | 评论次数(0) | 浏览次数(203) | 所属类型(子程序)

[2013-03-13 09:05] 在指定的位置,用指定的颜色,显示一个用0结束的字符串

;名称:show_str 
;功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串。 
;参数:(dh) = 行号(取值范围0~24),(dl) = 列号(取值范围0~79), 
;      (cl)= 颜色,ds:si指向字符串的首地址。 
;返回:无。 
show_str:         push ax
                        push bx
                        push cx
                        push dx
                        push si
                        push di
                        push es
                        
                        mov ax,0b800h 
                        mov es,ax 
        ;一行中,,每个字符在显示缓冲区占两个字节,低位存储ASC...
阅读全文 | 评论次数(0) | 浏览次数(222) | 所属类型(子程序)

[2013-03-12 19:43] 将一个全是字母,以0结尾的字符串,转化为大写

;说明:将一个全是字母,以0结尾的字符串,转化为大写
;参数:ds:si指向字符串的首地址
;结果:没有返回值
capital:mov cl,[si]
        mov ch,0
        jcxz ok        ;如果(CX)=0,结束;如果不是0,处理
        and byte ptr [si],11011111b ;将ds:si所指单元中的字母转化为大写
        inc si
        jmp short capital        ;ds:si指向下一个单元
    ok:  ret...
阅读全文 | 评论次数(0) | 浏览次数(205) | 所属类型(子程序)
页码数(1):  1