call 和 ret 的配合使用(1002)

本文为《汇编语言程序设计》1002小节例程。点击链接…进课程主页。

功能:计算2的N次方,计算前,N的值由CX提供。


;(下面的程序逻辑上正确,但存在严重错误!)
assume cs:code
code segment
start: mov ax,1
       mov cx,3
       call s
       mov bx,ax
       mov ax,4c00h
       int 21h
    s: add ax,ax
       loop s
       ret
code ends
end start

下面是正确的程序

; 要设置栈段,以便于call和ret指令使用
assume cs:code, ss:stack
stack segment
       db  8 dup (0)
       db  8 dup (0)
stack ends
code segment
start: mov ax,stack
       mov ss,ax
       mov sp,16
       mov ax,1000
       call s
       mov ax,4c00h
       int 21h
    s: add ax,ax
       ret
code ends
end start
时间: 2024-09-20 04:14:04

call 和 ret 的配合使用(1002)的相关文章

汇编语言课程主页

[写在开课前] 这学期,接了一门新课--汇编语言程序设计. 这是门好课.学好了,能干的工作,那是高大上:职业中不指望自己的工具袋中备一把名叫"汇编"的榔头的同学,借着汇编语言,也可以练计算机专业学习的内功. 新培养方案中恢复了这门课,我就想将捣鼓捣鼓这门课程.搞了好多年"计算"的事,早对自己离"计算机"有点远而不满.备课中,再回计算机的底层,重新体会"螺丝壳里做道场"的精致. 教学模式继续翻转课堂,随着授课进度,同步建设资源.

X86汇编语言总结

下载地址:点击打开下载链接 AX.BX.CX.DX一般用来存放数据 [BX].[BP].[SI].[DI]中一般存放着某个段寄存器的偏移地址,默认情况下,[BX]中存放着数据段(DS)的偏移地址,[BP]中存放着栈段(SS)的偏移地址(功能和SP类似),其中BX只能和SI.DI组合,BP只能和SI.DI组合,SI.DI间是不能组合的 Loop指令一般搭配着CX寄存器使用,每循环一次,CX寄存器中的值减少1 执行PUSH指令时,SP-2,执行POP时,SP+2 个人的一点总结:压栈时,先减后压:出

将 JavaScript 与 ASP.NET 2.0 配合使用

asp.net|javascript 将 JavaScript 添加到服务器控件 将 JavaScript 添加到位于 ASP.NET 页面中的某个特定服务器控件是非常简单的.我们以按钮服务器控件为例.如果您使用任一 Microsoft Visual Studio 2005 将 Button HTML 服务器控件(HtmlInputButton 类)拖放到某个页面中,并将其作为服务器控件运行,则应具有以下代码结构: <input id="Button1" type="b

UVa 755 / POJ 1002 487--3279 (排序)

755 - 487--3279 Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=98&page=show_problem&problem=696 http://poj.org/problem?id=1002 Businesses like to have memorable telephone numbers. On

刷机精灵提示错误号“1002”什么办

如果您尝试使用刷机精灵进行刷机.备份.还原操作时出现"错误号:1002" 您可以尝试: 1.请检查手机是否正确插入 SD/TF 卡 2.请检查手机 SD/TF 卡是否能正常读写 3.请检查内存卡格式是否为 FAT32 格式 4.请尝试更换USB接口.或更换数据线后重试! 5.不要使用存储模式,请将手机上的USB连接方式改成 仅充电 或 媒体设备(MTP) 或 同步 模式

如何将iCloud与Keynote配合使用

  本期Keynote教程PC6苹果网小编给大家带来的是如何将iCloud与Keynote配合使用.iCloud 会储存您的演示文稿并使它们在 iOS 设备.Web 和电脑上保持最新,以便您手边总是具有最新版本,而不论您上一次编辑时使用的是哪个设备. 您可以使用 iCloud 版 Keynote Beta 在 Web 浏览器中编辑 Keynote 演示文稿.iCloud 版 Keynote Beta 是一款能让您使用 Mac 或 Windows 电脑中支持的 Web 浏览器创建和编辑 Keyno

杭电1002

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1002 #include <stdio.h> #include <string.h> #define MAX 1010 char a[MAX],b[MAX]; int main() { int n,i,j,length,jinwei=0; int flag; char temp; scanf("%d",&n); for(i=0;i<n;i++) { i

acm poj-关于北大在线测试系统(POJ)第1002题

问题描述 关于北大在线测试系统(POJ)第1002题 晚辈前不久迷上了POJ,目前已经实现了这题(第1002题),并且优化到了188ms,希望高手能告知进一步优化的方法,我希望能进入100ms以内,多谢前辈们指点! 目前我已经知道性能瓶颈是fgets()这个函数上,它大概花了和排序相同的时间 scanf(),gets()我都试过了,效率没有fgets()高 而fread()在读取stdin的时候又没办法及时地跳出来,所以没法使用 (比如说,用fread从一个只有1000字节的文件中读取10000

[分享]错误“应用程序Xcode的这个版本不能与此版本的OS X配合使用”以及Mac源码和IOS开发资料分享

[分享]错误"应用程序Xcode的这个版本不能与此版本的OS X配合使用"以及Mac源码和IOS开发资料分享 安装Xcode时,出现"应用程序Xcode的这个版本不能与此版本的OS X配合使用"错误如下: 解决方案是: /system/libary/coreservice/SystemVersion.plist中的两个10.10为10.10.5 修改过程会提示无权限修改,要不要建立副本,点击提示框中的"复制"按钮,存到桌面上. 点击一个文件右