吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 833|回复: 1
收起左侧

[学习记录] 学习汇编中,记录

[复制链接]
kognzhezhi 发表于 2022-4-5 21:15
汇编实验 9 在电脑屏幕中间显示字符串
assume cs:codesg ,ds:datasg
datasg segment
db 'ni zui bang ya !'
datasg ends
codesg segment
start:mov ax,datasg
mov ds,ax
mov ax,0b800h
mov es,ax
mov cx,3

mov bx,0
s:mov si,0
mov di,0
push cx
mov cx,16
s3:
mov al,[si]
mov es:[bx+7c0h+di],al   
add di,2
add si,1
loop s3
add bx,0a0h
pop cx
loop s

mov bx,0
mov si,0
mov bx,0
mov cx,16
s5:
mov al,82h
mov es:[7c0h+si+1],al
mov al,0a4h
mov es:[7c0h+0a0h+si+1],al
mov al,81h
mov es:[7c0h+0a0h+0a0h+si+1],al
add si,2
loop s5

mov ax,4c00h
int 21h

codesg ends
end start

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| kognzhezhi 发表于 2022-5-15 11:06
本帖最后由 kognzhezhi 于 2022-5-15 11:11 编辑

解决除法计算中商溢出的问题

assume cs:code
code segment
start:
          mov ax,4240h
          mov dx,000fh
          mov cx,0ah
          call divdw
         
          mov ax,4c00h
          int 21h

         
         
divdw:
    push ax
        mov ax,dx ;高16位赋值给ax
        mov dx,0
        div cx    ;商在ax在中, 余数在dx中
        mov bx,ax
        pop ax    ;低16位
        div cx    ;商在ax ,余数在dx
        mov cx,dx
        mov dx,bx
        ret
code ends
end start


这里面有一个要注意的地方是 在进行第一个除法计算之前要 mov dx,0,防止dx内部的数值影响计算结果,over
         
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 14:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表