01_汇编语言(基本格式_模板)

计算1+2+3+...+100的和

 1 ;计算1+2+3+...+100的和
 2 DATA SEGMENT     ;数据段开始
 3     SUM DW ?
 4 DATA ENDS
 5
 6 CODE SEGMENT    ;代码段开始
 7     ASSUME CS:CODE,DS:DATA
 8 START:  MOV AX,DATA
 9         MOV DS,AX
10         XOR AX,AX
11         MOV CX,100
12 NEXT:   ADD,AX,CX
13         LOOP NEXT
14         MOV SUM,AX
15         MOV AH,4CH    ;4C号功能调用:终止当前程序并返回调用程序
16         INT 21H
17 CODE ENDS    ;代码段结束
18 END        ;汇编程序结束

判断变量NUM中的无符号数是否为素数

程序要求:

  编写一个汇编程序,判断变量NUM中的无符号数是否为素数,如果是素数则向屏幕输出字符P,如果是合数,向屏幕输出C。

其中NUM在数据段中给定。

程序流程:

代码实现:

 1 ;编写一个汇编程序,判断变量NUM中的无符号数是否为素数,
 2 ;如果是素数则向屏幕输出字符P,如果是合数,向屏幕输出C。
 3 ;其中NUM在DATA数据段中给定了
 4 DATA SEGMENT    ;数据段
 5     NUM DW 13
 6 DATA ENDS
 7 CODE SEGMENT    ;代码段
 8      ASSUME CS:CODE,DS:DATA
 9 START:  MOV AX,DATA
10         MOV DS,AX   ;将数据段DATA的段基址送DS
11         MOV SI,1    ;SI 16位源变址指针寄存器
12
13 BACK:   INC SI
14         XOR AX,AX
15         XOR DX,DX
16         MOV AX,NUM
17         CMP AX,SI   ;比较被除数(NUM)和除数(SI)是否相等
18         JZ PRINT_P  ;JZ 等于则跳转
19         DIV SI      ;用DX和AX组成的32位数除以16位的SI
20         CMP DX,0    ;余数在DX里边,判断余数是否为0
21         JNZ BACK    ;JNZ 不等于则跳转
22
23 PRINT_C:XOR DX,DX
24         MOV DL,‘C‘
25         MOV AH,2
26         INT 21H
27         JMP EXIT    ;JMP 无条件跳转指令
28
29 PRINT_P:XOR DX,DX
30         MOV DL,‘P‘
31         MOV AH,2
32         INT 21H
33
34 EXIT:   MOV AH,4CH
35         INT 21H
36 CODE ENDS
37 END START 
时间: 2024-10-16 23:42:45

01_汇编语言(基本格式_模板)的相关文章

分钟数转换成倒计时,格式 _天_时_分

#region 分钟数转换成倒计时,格式 _天_时_分 + string MinutesToCountdown(int Minutes) /// <summary> /// 将分钟数转换成倒计时 格式:_天_时_分 /// </summary> /// <param name="Minutes">分钟数</param> /// <returns></returns> public static string Min

C++_模板类与类型萃取技术

在声明变量,函数,和大多数其他类型实体的时候,C++要求我们使用指定的类型.然而,有许多代码,除了类型不同之外,其余部分看起来都是相同的,比如,下面这个例子: bool IsEqual (int left, int right) {     return left == right; } bool IsEqual (const string& left , const string& right) {     return left == right; } void test() {   

Android打印机--小票打印格式及模板设置

小票打印就是向打印设备发送控制打印格式的指令集,而这些打印格式需要去查询对应打印机的API文档,这里我把常用的api给封装了一下 文字对齐方式 打印字体大小 字体是否加粗 打印二维码 打印条形码 切纸 打开钱箱 字符串转字节数组 字符拼接 PrintFormatUtils.java /** * 打印格式 * Created by john on 17-3-23. */ public class PrintFormatUtils { // 对齐方式 public static final int

反向解析_模板继承_html 转义

反向解析 根据url正则生成一个地址 href = "{% url 'booktest:show' %}" 正则如果分组了,分几个组就传几个参数,反向解析就需要传参,直接空格再后面写就可以了,如: {% url 'booktest:show' 'p1' 'p2' %} 好处:动态生成链接地址,降低维护成本 示例 # views.py def reverse(request): return render(request, 'reverse.html') def test(request

设计模式整理_模板模式

模板模式在父类中定义了一个方法的模板,而子类可以动态的实现模板成分方法,但是模板中的方法顺序无法改变. 父类中的模板方法往往申明为final,用来保证方法不被子类覆盖,因为作为模板,是不可以改变的,但是模板方法内的一系列方法,可以由子类自己静态实现,同时在父类的模板方法中,可以定义钩子(hook)方法.方便子类对于模板方法的优化.下面用两个例子说明. /*没有钩子(hook)的模板方法,此时模板方法无法修改*/ public abstract class Model { public final

python学习笔记(6)_模板

有了框架,基本就好写了. 接着就是生成html如何更简单——使用模板. 这是个HTML文档,里面嵌入变量和命令,替换后得到最终HTML. 这就是MVC(model-view-controller) 注意,模板是V,负责显示,而Model是用来传给view的,可以从model中取出要替换的相应数据.如上,model就是一个dict. 而处理URL的函数就是C,负责业务逻辑(检查用户名.取出用于信息等) 这里我们使用模板是jinja2($ pip install jinja2) from flask

J2SE之基础语法_程序的格式_运算符

程序的格式 运算符 1.自加和自减运算符 2.逻辑运算符 3.赋值运算符与扩展赋值运算符 4.字符串连接符 5.表达式 6.三目条件运算符

Django学习日记05_模板_模板语言

Variables 在模板中,使用两个大括号包含变量的方式来使用变量: {{ name }} 该变量应该作为键值对中的键,在Context中能被查找到. Tags 模板中使用Tags来进行简单的逻辑: {% commet %}? ? #body{% endcommet %} Django内置了大量的Tags: 1. if :使用if标签来实现分支逻辑 {%if option%}? ? #if body{%elif option2%}?? ? #elif body{%else%}?? ? #els

c++ _ 模板与泛型编程

例子:比较两个值的函数模板 template <typename T> int compare(const T &t1, const T &t2) { if (t2 < t1) return 1; if (t1 < t2) return -1; return 0; } 编写泛型代码的两个重要原则: 1 模板中函数参数是const的引用 2 函数体中条件判断仅适用<比较运算符 模板参数列表中 typename 和 class 没有什么不同.typename更为直