2020-9.14~9.28学习笔记

2020-9.14~9.28学习笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、汇编指令

寄存器

寄存器可以理解为CPU中的存储器或者内存,是CPU中可以存储数据的器件,一个CPU中可以有多个寄存器。
1、数据寄存器:数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。如:寄存器DX。
2、变址寄存器:可作一般的存储器指针使用。在字符串操作指令的执行过程中,对它们有特定的要求,而且还具有特殊的功能。如:ESI、EDI、SI和DI。
3、指针寄存器:主要用于存放堆栈内存储单元的偏移量,用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。指针寄存器不可分割成8位寄存器。如:EBP、ESP、BP和SP。
4、段寄存器:段寄存器是根据内存分段的管理模式而设置的。内存单元的物理地址由段寄存器的值和一个偏移量组合而成的,这样可用两个较少位数的值组合成一个可访问较大物理空间的内存地址。
5、指令指针EIP、IP(Instruction Pointer)是存放下次将要执行的指令在代码段的偏移量。在具有预取指令功能的系统中,下次要执行的指令通常已被预取到指令队列中,除非发生转移情况。

简单传送指令

指令作用备注
MOV传送字或字节-
XCHG交换字或字节至少有一个操作数为寄存器,段寄存器不可作为操作数

目的地址传送指令

指令作用
LEA装入有效地址。例:LEA DX,string;把偏移地址存到DX。
LDS传送目标指针,把指针内容装入DS。例: LDS SI,string;把段地址:偏移地址存到DS:SI。

简单加减指令

指令名称格式作用备注
ADD加法指令ADD DEST,SRC加法数的相加
SUB减法指令SUB DEST,SRC减法数的相减
INC加1指令INC DEST加 1-
DEC减1指令DEC DEST减 1-
CMP比较指令CMP OPR1 , OPR2.比较(两操作数作减法,仅修改标志位,不回送结果)

逻辑运算指令

指令作用
NOT把操作数OPRD按位取反,然后送回OPRD
AND把两个操作数进行与运算之后结果送回DEST
OR把两个操作数进行或运算之后结果送回DEST
XOR把两个操作数进行异或运算之后结果送回DEST
TEST测试。(两操作数作与运算,仅修改标志位,不回送结果)

中断指令

指令作用
INT中断指令
INTO溢出中断
IRET中断返回

二、Python

1.基础语法

标识符

  • 第一个字符必须是字母表中字母或下划线 _ 。
  • 标识符的其他的部分由字母、数字和下划线组成。
  • 标识符对大小写敏感。

注释
Python中单行注释以 # 开头,实例如下:

#!/usr/bin/python3
 
# 第一个注释
print ("Hello, Python!") # 第二个注释

执行以上代码,输出结果为:

Hello, Python!

行与缩进
python使用缩进来表示代码块,不需要使用大括号 {} 。
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下:

if True:
    print ("True")
else:
    print ("False")

以下代码最后一行语句缩进数的空格数不一致,会导致运行错误:

if True:
    print ("Answer")
    print ("True")
else:
    print ("Answer")
  print ("False")    # 缩进不一致,会导致运行错误

以上程序由于缩进不一致,执行后会出现类似以下错误:

 File "test.py", line 6
    print ("False")    # 缩进不一致,会导致运行错误
                                      ^
IndentationError: unindent does not match any outer indentation level

等待用户输入
执行下面的程序在按回车键后就会等待用户输入:

#!/usr/bin/python3
 
input("\n\n按下 enter 键后退出。")

import 与 from…import
在 python 用 import 或者 from…import 来导入相应的模块。
将整个模块(somemodule)导入,格式为: import somemodule
从某个模块中导入某个函数,格式为: from somemodule import somefunction
从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
将某个模块中的全部函数导入,格式为: from somemodule import *
导入 sys 模块:

import sys
print('================Python import mode==========================')
print ('命令行参数为:')
for i in sys.argv:
    print (i)
print ('\n python 路径为',sys.path)

2.函数

定义函数
Python 定义函数使用 def 关键字,一般格式如下:

def 函数名(参数列表):
    函数体

默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的。

#!/usr/bin/python3
 
# 计算面积函数
def area(width, height):
    return width * height
 
def print_welcome(name):
    print("Welcome", name)
 
print_welcome("Runoob")
w = 4
h = 5
print("width =", w, " height =", h, " area =", area(w, h))

输出结果为:

Welcome Runoob
width = 4  height = 5  area = 20

参数传递
在 python 中,类型属于对象,变量是没有类型的:

a=[1,2,3]

a="Runoob"

以上代码中,[1,2,3] 是 List 类型,“Runoob” 是 String 类型,而变量 a 是没有类型,她仅仅是一个对象的引用(一个指针),可以是指向 List 类型对象,也可以是指向 String 类型对象。
from … import 语句
Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中,语法如下:

from modname import name1[, name2[, ... nameN]]

例如,要导入模块 fibo 的 fib 函数,使用如下语句:

>>> from fibo import fib, fib2
>>> fib(500)
1 1 2 3 5 8 13 21 34 55 89 144 233 377

这个声明不会把整个fibo模块导入到当前的命名空间中,它只会将fibo里的fib函数引入进来。

chr() 函数
chr() 用一个整数作参数,返回一个对应的字符。
pow() 函数
pow() 方法返回 xy(x的y次方) 的值。
min() 函数
min() 方法返回给定参数的最小值,参数可以为序列。
str() 函数
返回一个对象的string格式。以下是 str() 方法的语法:

class str(object='')

三、linux命令行的基本操作

常用快捷键

  • Tab键:tab键是有两个功能,一个一次tab命令补齐。
  • Ctrl+C:Ctrl+c中断,强行打断进程,如果终端命令行正在执行某个进程的程序,这时想要中断掉该进程就可以使用Ctrl+c。
  • Ctrl+D:Ctrl+d退出,相当于exit和quit,比如用python命令进入python交互环境后,就可以用Ctrl+d退出python交互。
  • Ctrl+Shift+c和Ctrl+Shift+v:在终端中复制粘贴时,先用鼠标选中需要复制的内容,然后用Ctrl+Shift+c进行复制,再用Ctrl+Shift+v进行粘贴。
  • 图形界面和纯文本交互模式切换:
    Ctrl+Alt+F1-F6:纯文本交互模式登入tty1~tty6终端机;
    Ctrl+Alt+F7:切回图形界面。

关机与重启命令

  1. 关机:sudo poweroff;
  2. 重启:sudo reboot

目录与文件相关命令

  1. 显示文件和目录列表:ls
  2. 切换目录:cd <目标目录>
  3. 显示当前所在工作目录:pwd
  4. 创建文件:touch <文件名>
  5. 复制文件:cp <源文件路径> <目标文件路径>
  6. 移动文件:mv <源文件路径> <目标文件路径>
  7. 删除文件:rm <文件名>
  8. 显示文件内容:cat <文件名>
  9. 创建文件夹:mkdir <文件夹名>
    10.删除文件夹:rmdir <文件夹名>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值