查看: 89|回复: 0

[教程] 汇编程序 查表求平方的实现

[复制链接]

4

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2012-8-1
发表于 2020-2-4 10:53:13 | 显示全部楼层 |阅读模式

【任务】设在内存单元SQTAB首址开始存放了0~15的平方数表。要求用直接查表法编一程序,求出A单元中给定数(<=15)的平方值送B单元保存。

【参考解答1】

assume cs: code, ds: data

data segment
  sqtab db 0, 1, 4, 9, 16, 25, 36, 49, 64, 81
     db 100, 121, 144, 169, 196, 225
  a db 12
  b db ?
data ends

code segment
start:
  mov ax, data
  mov ds, ax

  mov bl, a      ;以a中值作为索引值
  mov bh, 0
  mov al, sqtab[bx]  ;在table中查找
  mov b, al

  mov ax, 4c00h
  int 21h

code ends
  end start

【参考解答2】(用专门的查表指令xlat)

assume cs: code, ds: data

data segment
  sqtab db 0, 1, 4, 9, 16, 25, 36, 49, 64, 81
     db 100, 121, 144, 169, 196, 225
  a db 12
  b db ?
data ends

code segment
start:
  mov ax, data
  mov ds, ax
  mov bx, offset sqtab

  mov al, a
  xlat
  mov b, al

  mov ax, 4c00h
  int 21h

code ends
  end start

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持琼殿技术社区。

您可能感兴趣的文章:
  • 汇编语言rep movsd 的使用详解
  • 解析四则表达式的编译过程及生成汇编代码
  • 汇编语言常见错误信息中文注解
  • 汇编优化提示
  • 汇编语言无效指令错误概述
  • 如何在TC2.0中调用汇编程序
  • C语言内嵌汇编API内存搜索引擎实例
  • 汇编语言超浓缩教程
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部