当前位置: 首页 > news >正文

广州网站设计哪家公司好深圳市网络seo推广平台

广州网站设计哪家公司好,深圳市网络seo推广平台,衡水网站制作费用,东莞建设网站开发前言 这篇文章是写给对汇编有些兴趣但是又不喜欢麻烦的小伙伴们。你只需要找一个线上的汇编模拟器即可!这篇文章用little man computer (CPU simulator) 来演示和运行代码。little man computer 使用的计算机体系结构是Von Neuman architecture(冯诺伊曼…

前言

这篇文章是写给对汇编有些兴趣但是又不喜欢麻烦的小伙伴们。你只需要找一个线上的汇编模拟器即可!这篇文章用little man computer (CPU simulator) 来演示和运行代码。little man computer 使用的计算机体系结构是Von Neuman architecture(冯·诺伊曼结构)。

ea68ebdf3b1ad0d5126bff40df8a88c2.png

little man computer version 2

dd780d8128afff68360a7b56ac0de982.png

little man computer version 1

什么是汇编语言

汇编语言是一门低级的编程语言。它将机器语言的二进制指令包装成了助记符号。注意,汇编语言中的每个指令和机器语言里的是一一对应的,也就是说汇编并没有封装,只是给晦涩难懂的二进制指令起了个简单名字缩写而已。


常用指令

我们这篇文章一共就涉及10个指令

INP(input):输入指令——将输入的值存储至累加器

OUT(output):输出指令——将累加器存储的值输出

DAT(data):创建一个变量,具体语法是:var_name        DAT value。比如 num        DAT 2

BRZ(branch zero):当累加器中存储的值为0时,分支到给定地址

BRP(branch positive):当累加器储存的值为正时,分支到给定地址

BRA(branch always):不管什么情况发生,分支到给定地址(一般用在循环语句中)

STA(store from the accumulator):将累加器中的值存储到给定地址中

LDA(load to the accumulator):将给定地址中的值加载到累加器中

HTL(halt):字如其意,就是停止程序的意思。

ADD:顾名思义,就是将累加器的值与另外一个值相加。

SUB:将累加器的值与另一个值相减

如果看完还有点晕乎乎的,不慌,例子马上来了!

 


程序结构

顺序结构(sequence)

当一个代码块从开头执行到末尾后停止时,我们就说该代码块以顺序结构执行

例一:自增

b32318b2450ddb598a7d66a5db163db5.png

 

我们来看看程序是如何实现的

这是一段实现自增的程序。首先我们将num的值加载到累加器并与one变量进行加运算,最后将相加结果存储回num变量中。注:变量一般在程序末尾初始化。

如果我们再加一行代码,OUT,那么输出是这样的:

f3343920b561d48e15de3dbc1d98019c.png

翻译成python是这样子的:

num=0
num+=1
print(num)

 是不是特别简单?那咱们再看一个例子。 


例二:输入两个数,相加后输出和:

d2fe9b20da0749a83c69f372f214f773.png

首先我们输入了一个值到累加器内,并将该值存储到变量num1中(num1指向一个内存地址)

接下来再输入一个值到累加器中,然后将该值和num1变量(指向的内存地址)的值相加。得到的结果储存在累加器内,所以我们可以放心地使用OUT指令将结果输出,最后使用HLT停止程序。

e3c1c6d9de4d73ec6cff512d264a35bd.png

运行结果

下面是以上代码的python版

num1=int(input())
num1+=int(input())
print(num1)

选择结构(selection)

选择结构简单地说就是:如果满足这个条件,那么执行这个,否则执行那个。

例子:两数比大小并输出较大数

64a5d045e51e6ae59c402b0337aa38b4.png

这是很经典的选择结构。首先加载num1并减去num2,如果是正数则说明num1更大,所以跳到max1语句执行加载并输出num1的值。如果是负数就输出num2的值。就这么简单

以下是python代码

num1=5
num2=4
if num1>num2:print(num1)
else:print(num2)

循环结构(iteration)

循环结构就是一直重复执行一个代码块。一般分为两种循环,一种是条件循环,即满足什么条件才会继续循环执行;一种是遍历循环,本文不会涉及。

例一:倒数到零

9333bc6a84887ef3c6710c48a3b68fe7.png

 首先计算机将num1中存储的值加载到累加器中。(BRZ END) 如果累加器内的值是零,那就结束循环并执行END代码块,如果不是零,就执行下面的语句:输出累加器内存储的值,将该值减1后把商存入num1中(自减)。BRA LOOP的意思是:不管怎么样都继续循环。END代码块就是执行结束程序。

dd360444021df37c1fe43c87662231d9.png

for i in range(5):print(5-i)

 


例二:两数相乘

355292d7b181c724cc5b29fe856eadc1.png

该程序实现乘法的原理就是乘法的定义,所以这里不再赘述

很多小伙伴看到代码可能有些疑惑:这个程序在循环结构内每次都会让3自减1,所以只会循环三次。根据乘法的定义,我们知道4x3=4+4+4,那为什么在循环之前要先让num2自减一呢?因为循环内的第一次执行就已经是4+4了,那么一共只需要执行2遍(4+4 +4)即可达到效果,所以要让num2自减。这逻辑也太繁琐了,有没有简单又能实现效果的?

改良版:

e0cfea9100715ec6cc5afe5aa48ff238.png

这段代码是:0+4+4+4 而不是4+4+4+4——初始值从4改为了0所以不需要将num2减一。

9f7b1a9c31bed5aab2c445ac9145df87.png

运行结果

num1=4
num2=3
print(num1*num2)

 


例三:两数相除

389a20740e0d6437ed8ce0d2aa331bd5.png

原理和两数相乘类似,因此不再赘述。

num1=12
num2=3
print(num1/num2)

使用python 直接秒杀

 

 

http://www.hkea.cn/news/52846/

相关文章:

  • 合肥企业自助建站seo课程培训班
  • 企业网站建设总结什么软件可以免费引流
  • 个人博客网站如何做SEO雅诗兰黛网络营销策划书
  • 唐山自助建站软件seo软件优化工具软件
  • 推广电子商务网站的案例网站推广策划书模板
  • 前端外包网站网站优化快速排名软件
  • 凡客做网站cba最新消息
  • 郑州做网站好的公搜索引擎优化好做吗
  • 网站 预算白度
  • 中国电商建站程序信息推广
  • 网站开发教程 布局优化技术
  • 做外贸网站需要请外贸文员吗网站seo诊断分析和优化方案
  • 百度网站怎么做的赚钱吗seo中文含义
  • 做网站界面的软件互联网培训
  • 电子商务网站建设与维护李建忠高级搜索引擎技巧
  • 做地产网站全网搜索软件
  • 网站开发培训班百度网站推广关键词怎么查
  • 东莞市做网站公司seo怎样
  • ps做网站大小尺寸应用商店优化
  • 网站站群建设方案知名网页设计公司
  • 广州网站建设公司哪家好专业的seo搜索引擎优化培训
  • 外国人做汉字网站seo搜索排名影响因素主要有
  • 外贸五金网站建设网站制作优化排名
  • 义乌网站建设多少钱网络平台营销
  • 怀仁有做网站的公司吗磁力搜索引擎2023
  • 建站行业都扁平化设计合肥网站推广公司哪家好
  • 做企业网站织梦和wordpress哪个好百度指数查询工具app
  • 郑州网站服务公司优化神马排名软件
  • 茶叶网站建设的优势南宁seo外包平台
  • 高古楼网站 做窗子北京seo技术交流