zoukankan      html  css  js  c++  java
  • 【汇编程序】从键盘上输入一个10进制数字,查表求键入数字的平方值

    需求:从键盘上输入一个10进制数字,查表求键入数字的平方值 

    实现思路:定义数据段 一个提示信息,使用db字节来存储 并以'$'符号作为结束标志,定义一个变量存储 0-9对应的平方值

     先赋值代码段段地址和偏移量地址,调用dos9号功能 显示以$结束的标志字符串,提示用户输入.接着调用dos1号功能 接收用户输入的,并在屏幕上显示。这里用and(与) 进行相与之后获取了键盘上输入的值,将存储0-9对应的平方值的变量的获取到对应的偏移地址。ah 高位清零 这时最主要的一点 就是 table中 变量的对应的数的平方的地址 也是该数。例如: 3 所对应的就是9 所以偏移地址就是 table的偏移地址加上用户键盘输入的数字。就是概述的偏移地址。使用间接寻址方式,获取到该数的平方数,程序结束。

    ;需求:从键盘上输入一个10进制数字,查表求键入数字的平方值 存入al寄存器中 并显示有关的提示信息
    ;实现思路:在程序的数据段,先给出数字0-9的平方值 逐个存入table开始的内存中 形成表格
    ;代码段由3部分组成,显示提示信息 等待键入数字 查表求键入数字的平方值 并将结果存入al中
    data segment
        table db 0,1,4,9,16,25,36,49,64,81 ;数字 0-9的平方值
        buf db 'please input a number (0-9):',0dh,0ah,'$'; 提示信息  ;汇编中 定义字符串要使用db字节类型      0dh 回车 0ah换行
    data ends 
    
    code segment 
        assume cs:code,ds:data
       start:mov ax,data
             mov ds,ax                 ;设置ds
             mov dx,offset buf         ;设置dx 使字符串首地址=ds:dx
             mov ah,9h;                ;dos 9号 功能调用 显示以$结尾的字符串
             int 21h                   ;显示提示信息
             
             mov ah,01                 ;dos 1  从键盘输入字符 并在屏幕上显示 
             int 21h                   ;al-键入数字的ascll码
             and al,0fh                ;al-截下数字值  
             
             mov bx,offset table       ;bx指向头地址table
             mov ah,0                  ;ax寄存器高字节清0
             add bx,ax                 ;表头地址+键入数字al 结果存入bx
             mov al,[bx]               ;查表求得平方值
             
             mov ax,4c00h             ;程序结束
             int 21h                   ;返回dos
             
          code ends
         end start
             
             
             
  • 相关阅读:
    SoapUI 使用笔记
    git 使用笔记(二)
    git 使用笔记(一)
    jquery 拓展
    hdu 1024 Max Sum Plus Plus (DP)
    hdu 2602 Bone Collector (01背包)
    hdu 1688 Sightseeing (最短路径)
    hdu 3191 How Many Paths Are There (次短路径数)
    hdu 2722 Here We Go(relians) Again (最短路径)
    hdu 1596 find the safest road (最短路径)
  • 原文地址:https://www.cnblogs.com/qxlxi/p/12860881.html
Copyright © 2011-2022 走看看