zoukankan      html  css  js  c++  java
  • 解决除法溢出的问题

    ;--------------------------------------------------------------------------------------------
    ;解决除法溢出的问题:
    ; 除法溢出
    ;  1、标准:
    ;   被除数:
    ;    如果除数是8位,被除数则为16位,默认放在AX中
    ;    如果除数是16位,被除数则为32位,在DX和AX中存放,DX存放高16位,AX存放低16位
    ;   结果:
    ;    如果除数为8位,则AL存储除法操作的商,AH存储除法操作的余数
    ;    如果除数为16位,则AX存储除数操作的商,DX存储除法操作的余数
    ;  2、自定义:
    ;   被除数位dword型,除数位word型, 结果为dword型
    ;   参数:
    ;    (ax)=dword型数据的低16位 
    ;    (dx)=dword型数据的高16位 
    ;    (cx)=除数
    ;   结果:
    ;    (ax)=结果的低16位 
    ;    (dx)=结果的高16位 
    ;    (cx)=余数
    ;--------------------------------------------------------------------------------------------

    assume cs:code
    
    code segment
     start: mov ax, start
       mov ss, ax
       mov sp, 10h   ;栈顶
       mov ax, 4240h ;低16位
       mov dx, 0fh   ;高16位
       mov cx, 0ah   ;除数
       
       call divdw
       
       mov ax, 4c00h
       int 21h
       
     divdw:   
      push ax
      mov ax, dx ;高16位
      mov dx, 0 ; (新组合的32位的被除数)=0000 000fh
      div cx   ;此时(dx)=余数 和 低16位 组合成一个新的32位的被除数 
      mov bx, ax ;结果的高16位
      pop ax   ;低16位
      div cx
      mov cx, dx ;余数
      mov dx, bx ;结果的高16位
      ret
     
    code ends
    end start
  • 相关阅读:
    数据挖掘笔记(2018-03-22发布于知乎)
    使用Graphlab参加Kaggle比赛(2017-08-20 发布于知乎)
    大数据笔记
    2018网易游戏数据挖掘实习生笔试面经
    数据库课程设计之图书借阅管理系统
    居中
    lucene
    eclipse中使用git
    yii
    工作总结
  • 原文地址:https://www.cnblogs.com/qintangtao/p/2860109.html
Copyright © 2011-2022 走看看