1. 汇编语言程序设计,8汇编语言与高级程序设计语言的主要区别是什么?
汇编语言的总体特点1.机器相关性这是一种面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。
因为是机器指令的符号化表示,故不同的机器就有不同的汇编语言。
使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。
2.高速度和高效率汇编语言保持了机器语言的优点,具有直接和简捷的特点,可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等,且占用内存少,执行速度快,是高效的程序设计语言。
3.编写和调试的复杂性由于是直接控制硬件,且简单的任务也需要很多汇编语言语句,因此在进行程序设计时必须面面俱到,需要考虑到一切可能的问题,合理调配和使用各种软、硬件资源。
这样,就不可避免地加重了程序员的负担。
与此相同,在程序调试时,一旦程序的运行出了问题,就很难发现。
优点1、因为用汇编语言设计的程序最终被转换成机器指令,故能够保持机器语言的一致性,直接、简捷,并能像机器指令一样访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。
使用汇编语言,可以访问所有能够被访问的软、硬件资源。
2、目标代码简短,占用内存少,执行速度快,是高效的程序设计语言,经常与高级语言配合使用,以改善程序的执行速度和效率,弥补高级语言在硬件控制方面的不足,应用十分广泛。
缺点1、汇编语言是面向机器的,处于整个计算机语言层次结构的底层,故被视为一种低级语言,通常是为特定的计算机或系列计算机专门设计的。
不同的处理器有不同的汇编语言语法和编译器,编译的程序无法在不同的处理器上执行,缺乏可移植性;2、难于从汇编语言代码上理解程序设计意图,可维护性差,即使是完成简单的工作也需要大量的汇编语言代码,很容易产生bug,难于调试;3、使用汇编语言必须对某种处理器非常了解,而且只能针对特定的体系结构和处理器进行优化,开发效率很低,周期长且单调。
2. 才能尽早踏入正式的程序员的行列呢?
你的问题比较笼统,没有交代自己个人专业情况和今后的就业方向。这里谈谈我的看法。
选好你的就业方向。软件编程就业方向很多。按照平台方面分类: Android平台、ios平台、pc平台、MAC平台等等,这些平台要求的语言不尽相同。按照网站制作流程分类,服务器端编程要学服务器端的语言有JAVA、PHP及数据库的使用,前端方面使用JScript、html语言、css等,前端使用客户端有Android和ios平台。除去以上,你想要开发游戏的话,根据不同的游戏平台进行学习,有unity3d平台、unreal平台,页游的话JScript。每一种平台、每个语言都有它用途,就看你要选择什么了。以上每一小点都可以成为就业方向,专攻某一项就行。
记住语言只是一个工具而已语言不要求你现在学得有多么深入,一个工具只要你经常使用就能熟能生巧,在实践中掌握这才是最具效率的。像我自学PHP大概10天左右就掌握了其语法、基本框架和常用函数了,这算是学得慢的了,我已经能用来开发网站了,又在开发过程中边用边学。
重视基础理论的学习。比如说,如你明白网络传输原理,如请求响应原理,给你一个PHP语言你自然就能把服务器的编程做好。反过来你只懂得PHP语言不懂网络知识,那你基本也不用去搞开发了。以下这几门基础学科是需要掌握的:算法与数据库结构、SQL语言和数据库、计算机原理、操作系统原理、编译原理、计算机网络,以上这几门一定要学,Linux的课程最好也学一下。懂得计算机的原理,才有资格谈开发。
那你要练习什么独立做一个项目。目前网站开发的话都是比较容易就业的,同时门槛比较低又需求大,还能自己接私活。建议开发一个类似淘宝商城的项目开发,自己来一遍从前端到服务器端的全栈开发,网上有来源代码ECShop、tpshop等开源项目,你就用他们来练练手。这个过程你是需要很多门学科和语言的知识的。但是这个过程比较痛苦,结束后你可能就知道你要从事哪个方面了。希望你能做到这一步。
这里建议你用一款软件Hbuilder国产软件,好用之处就是前端只用JScript写一个网页版的项目,能直接封装为Android的和iOS的APP,一次开发三处使用,省时省力,在Android和iOS运行和原生的APP相差无几,但如果客户端功能行要求强,还是建议用原生的来开发。
最后啰嗦几句:想要成为一个牛逼的程序员,就是不断实践不断学习,这个过程不断重复!祝你成功!
记得订阅、点赞、评论!3. 成绩等级判断程序设计?
从网上找的,我已经修改正确,生成的exe只能在dos下运行。
但不能重复输入
;给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90 分以上为A,80-89
;分为B,70-79 分为C,60-69分为D,60 分一下为E。
;要求:提示输入一分数score;
;键盘输入,并换行显示结果,
data segment
S1 DB 0DH,0AH,'Enter score: $'
S2 DB 0DH,0AH,'The grade is: $'
D1 DB 0 ;输入的成绩
data ends
code segment
assume cs:code,ds:data
start:
main proc far
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV AH,9 ;提示输入成绩
MOV DX,OFFSET S1
INT 21H
RE_I: MOV AH,07H ;输入数字(用不回显方式)
INT 21H
CMP AL,0DH
JNE N1
mov ah,9
mov dx,offset S2
int 21h
MOV AL,D1
CMP AL,90
JB X1
MOV DL,'A'
JMP DISP
X1: CMP AL,80
JB X2
MOV DL,'B'
JMP DISP
X2: CMP AL,70
JB X3
MOV DL,'C'
JMP DISP
X3: CMP AL,60
JB X4
MOV DL,'D'
JMP DISP
X4: MOV DL,'E'
DISP: MOV AH,2
INT 21H
JMP EXIT
N1: CMP AL,'0' ;过滤掉数字外的字符
JB RE_I
CMP AL,'9'
JA RE_I
MOV DL,AL
PUSH AX
MOV AH,2 ;显示输入的数字
INT 21H
MOV AL,D1
MOV AH,0
MOV BL,10
MUL BL
POP BX
SUB BL,30H
ADD AL,BL
MOV D1,al
Jmp RE_I
EXIT: RET
main endp
code ends
end start
4. 设计一软件延时1s的子程序?
delay1000ms:(HT46R65的单片机)(注意不要开启计时中断允许位)
mov a,10000111b (设置频率和记数方式)(上升记数还是下降记数)
mov tmr0c,a (tmr0c 计数器的控制寄存器)
mov a,low(65536-31250) (设置的频率就是1S上升31250)因此是DELAY1S mov TMR0L,a (计数器的赋予初始值的低位寄存器)
mov a,high(65536-31250) mov TMR0h,a(计数器的赋予初始值的高位寄存器)
set tmr0c.4 (打开记数)
snz intc0.6 (是否有中断请求标志)(有就跳过)
jmp $-1 (退回一步)
clr tmr0c.4 (关闭记数)
clr intc0.6 (清除中断标志)
ret
5. 中国能不能重新设计一种计算机?
提问者应该是很初级或者完全不懂编程的外行吧。仅从编程的意义来讲,语言从来都不是什么主要的障碍。一门编程语言充其量几十上百个英文助记符,记起来很难吗?编程首先是一门科学,它的背后是数理和逻辑,本质上和用什么语言没什么关系。提问者根本没搞清主次,就像把物理公式里的米,千克换成尺,斤,中国人就都能成为物理学家一样可笑。
现在编程语言大都是英文的(很多其实已经支持中文),除了历史原因和利于国际化之外,还因为方便。现在的计算机,从硬件到软件的设计都符合英文输入习惯。作为一个每天以码字为主要工作的程序员,自然还是用英文输入效率最高。有些人说中文输入也不差,这也是外行话。首先,输入速度的差异这个不用多说,第二,使用中文需要一个好的中文输入法,当你习惯了一种输入法以后,换个电脑没有这个输入法怎么办?不能保证一个舒适的编程环境对一个程序员来讲是灾难性的。第三,大多数熟练的程序员,打字只是反射性的运动,根本不会影响大脑的思考,也就是写代码的时候思维是连续的,如果用输入法,经常需要选字,打破了工作的节奏,这个才是最致命的。
总的来说,所谓中文编程只是一个伪命题,没有任何根本上的好处。
6. 汇编语言之所以属于低级语言是由于其性差?
汇编语言被称为低级语言主要是因为它与底层硬件直接交互。汇编语言可以直接控制硬件资源,包括寄存器、内存和设备。与高级语言相比,汇编语言对程序员的要求更高,需要更多的细节和硬件知识。汇编语言的确可以编写高效的程序,因为它可以直接利用底层硬件的特性和指令集。由于有更多的控制权,程序员可以通过优化代码来提高程序的执行效率。然而,由于汇编语言需要手动管理硬件资源,并且缺乏高级语言中的许多便捷功能和工具,编写和维护复杂程序会更加困难和耗时。总的来说,汇编语言的执行效率取决于程序员的技能和编写的程序的质量。使用汇编语言编写的高质量程序可以达到很高的执行效率,但编写复杂程序会更加困难和耗时。因此,对于大多数情况下,使用高级语言来编写程序更加方便和高效。