汇编语言-计算立方值

1. 题目:计算给定数字的立方值

2.
要求:从键盘输入0至9中任一自然数x,求其立方值。若输入的字符不是0至9之间的数字,则显示错误信息,并要求重新输入。要求有信息提示输入数字、显示计算结果和提示输入错误。

提示:用户输入字符首先判断是否是0至9之间的字符,如果是,则转换为整数并计算其立方值,然后显示结果;如果不是,则显示输入错误信息并等待用户重新输入

训练目的:掌握简单的循环结构,分支结构。


 1 ; Example assembly language program --
2 ; Author: karllen
3 ; Date: revised 5/2014
4
5 .386
6 .MODEL FLAT
7
8 ExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD
9
10 INCLUDE io.h ; header file for input/output
11
12 cr EQU 0dh ; carriage return character
13 Lf EQU 0ah ; line feed
14
15 .STACK 4096 ; reserve 4096-byte stack
16
17 .DATA
18 promot1 BYTE "Enter a number from 0 to 9 to",cr,Lf
19 BYTE "calculate it‘s cubic number",cr,Lf,0
20 promot2 BYTE "The number ",0
21
22 value BYTE 11 DUP(?)
23 warning BYTE "The number is wrong,please enter a new number"
24 BYTE cr,Lf
25 BYTE "from 0 to 9",cr,Lf,0
26 answer BYTE "The number cubic number is"
27 cubicnm BYTE 11 DUP(?)
28 BYTE cr,Lf,0
29 .CODE
30 _start:
31 output promot1
32 output promot2
33 input value,11
34 atod value
35 doWhiCmp:
36 cmp eax,0
37 jl endWhiCmp ;eax < 0
38 cmp eax,9
39 jg endWhiCmp ;eax > 9
40
41 jmp doRight ;0<=eax<=9
42
43
44 endWhiCmp: ;deal the wrong number,to enter new number
45 output warning
46 input value,11
47 atod value
48 jmp doWhiCmp
49
50 doRight:
51 mov ebx,eax
52 mul ebx ;eax = eax * eax
53 mul ebx ;eax = eax * eax *eax
54
55 dtoa cubicnm,eax
56 output answer
57
58 INVOKE ExitProcess, 0 ; exit with return code 0
59
60 PUBLIC _start ; make entry point public
61
62 END ; end of source code

汇编语言-计算立方值

时间: 2024-11-17 08:07:59

汇编语言-计算立方值的相关文章

ffmpeg文档08-表达式计算/求值

8 表达式计算/求值 在计算表达式时,ffmpeg通过libavutil/eval.h接口调用内部计算器进行计算. 表达式可以包含一元运算符.运算符.常数和函数 两个表达式expr1和expr2可以组合起来成为"expr1;expr2" ,两个表达式都会被计算,但是新表达式(组合起来的)值实为表达式expr2的值. 表达式支持的二元运算符有:+,-,*,/,^ 一元运算符:+,- 以及下面的函数: abs(x) 返回x的绝对值. acos(x) 计算x反余弦 . asin(x) 计算x

treetable 前台 累计计算树值 提交后台

treetable   累计计算树值 效果图 html  代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> &l

一起talk C栗子吧(第三十四回:C语言实例--巧用溢出计算最值)

各位看官们,大家好,上一回中咱们说的是巧用移位的例子,这一回咱们说的例子是:巧用溢出计算最值. 闲话休提,言归正转.让我们一起talk C栗子吧! 大家都知道,程序中的变量都有一个取值范围,这个范围也计算机和编译器都有关系.我们举个实际的例 子进行说明:在32位的计算机上,如果使用4个字节存储int类型的变量也就是说使用了32位的存储空间. 这时int类型变量的取值范围是:负2的32次方到正2的32次方-1,具体的数值是-2147483648到2147483647. 如果把不在这个范围内的数值赋

爪哇国新游记之二十二----算术表达式计算求值

代码: import java.util.ArrayList; import java.util.List; // 辅助类 class Item{ String value; boolean isNumber; public Item(String value,boolean isNumber){ this.value=value; this.isNumber=isNumber; } public Item(char c,boolean isNumber){ this.value=String.

使用随机数计算pi值--java实现

1.先上一张图 2.原理分析 上图展示的是,在二维坐标图中,半径为1的圆的1/4, 随机n个点(x坐标在0~1之间,并且y坐标在0~1之间),落在半径为1的圆内部,当点的样本足够多的时候,形成1/4的饼图. 3.代码实现 /** * */ package com.sunny.www.interview; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.Scanner; /** * 使用随机数

python 在调用时计算默认值

大家都知道python的默认值是在函数定义时计算出来的, 也就是说默认值只会计算一次, 之后函数调用时, 如果参数没有给出,同一个值会赋值给变量, 这会导致, 如果我们想要一个list默认值, 新手通常这么写: def foo(a=[]): a.append(3) print a 其实是错误的,两次调用会这样的结果: [3] [3, 3] 其实应该这么写 def baz(a=None): a = a or [] a.append(3) print a 两次调用输出以下结果: [3] [3] 这样

The time machine-时间机器计算差值(二十四小时内)

The time machine-时间机器计算差值(二十四小时内):输入hours.minutes,1代表AM,0代表PM. //The time machine-时间机器计算差值(二十四小时内) #include<iostream> int computeDifference(int startHours, int startMinutes, bool startIsAM,int endHours,   int endMinutes,   bool endIsAM); int main()

用hadoop计算PI值

一.计算PI值的方式与原理 百度一下,计算PI的方法还真不少.但在hadoop examples代码中的注释写的是:是采用 Quasi-Monte Carlo 算法来估算PI的值. 维基百科中对Quasi-Monte Carlo的描述比较理论,好多难懂的公式. 好在google了一把,找到了斯坦福大学网站上的一篇文章:<通过扔飞镖也能得出PI的值?>,文章很短,图文并茂,而且很好理解. 我这里将那篇文章的重要部分截了个图: 对上面的图再稍微解释一下:       1.Figure2是Figur

输入两个时间戳,计算差值

<?php date_default_timezone_set("Asia/Shanghai"); //date_default_timezone_set("UTC"); //date_default_timezone_set("PRC"); //输入两个时间戳,计算差值,也就是相差的小时数,如返回2:10,则表示输入的两个时间相差2小时10分钟  function hours_min($start_time,$end_time){  if