E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
汇编笔记
汇编笔记
一
汇编笔记
一汇编语言简介汇编语言的组成机器指令的执行cpu对数据的读写寄存器批注汇编语言简介汇编语言(assemblylanguage)(面向机器的程序设计语言)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言
binary str
·
2024-02-08 23:53
汇编笔记
汇编笔记
01
小蒟蒻的汇编自学笔记,如有错误,望不吝赐教文章目录笔记编辑器,启动!debug功能CS&IPmovaddsub汇编语言寄存器的英文全称中英对照表muldivandor笔记编辑器,启动!进入debug模式debug功能用Debug的R命令查看、改变CPU寄存器的内容;用Debug的D命今查看内存中的内容;用Debug的E命令改写内存中的内容;用Debug的U命令将内存中的机器指令翻译成汇编指令;用D
tngyrn
·
2024-02-08 23:23
汇编笔记
汇编
笔记
【
汇编笔记
】初识汇编-内存读写
汇编语言的由来:CPU是计算机的核心,由于计算机只认识二进制,所以CPU执行的指令是二进制。我们要想让CPU工作,就得给他提供它认识的指令,这一系列的指令的集合,称之为指令集。指令集:不同的体系的CPU使用的是不同的指令集,常见的有intel、AMD的X86结构CPU使用的是X86/X64指令集,ARM结构CPU使用的是ARM指令集。汇编指令和机器指令的差别在于指令的表示方法上,汇编指令与机器指令
小旺不正经
·
2023-12-28 18:48
汇编
汇编
计算机组成原理
反
汇编笔记
1.OD中ctrl+f9:运行到返回,就是运行到当前断点所在的函数末尾"retnxxx"处,若xxx=10,那么10等于10进制的16,就是说这个函数有4个参数,一个参数默认是占4字节,所以就是retn10。2.调试程序时,在OD内部小窗口左上角会显示当前断点所在的函数层,是在系统领空还是某个应用程序领空。3.call前出现leaedx,dwordptrss:[ebp-x]的分析方法:当在call
百里杨
·
2023-10-16 14:18
X86指令集
32位
栈
汇编
内存
Win32
汇编笔记
——窗口创建API函数
1.模块的概念一个模块代表的是一个运行中的exe文件或dll文件,用来代表这个文件中所有的代码和资源,用来代表这个文件中所有的代码和资源,磁盘上的文件不是模块,装入内存后运行时就叫做模块。一个应用程序调用其他DLL中的API时,这些DLL文件被装入内存,就产生了不同的模块,为了区分地址空间中的不同模块,每个模块都有惟一的模块句柄来标识。2.句柄句柄只是一个数值,它的值对程序来说是没有意义的,它只是
落子摘星
·
2023-09-08 17:05
汇编语言
Win32汇编
WindowsAPI
C语言简单链表的反汇编
从这篇文章开始我将自己的反
汇编笔记
分享给大家,有时间就会更新一些基础数据结构和算法的逆向,旨在如何用机器的模式去理解我们写的代码。需要的基础知识,比如汇编的一些知识我慢慢也会总结发出来。
call就不要ret
·
2023-06-23 19:45
数据结构
链表
c语言
汇编笔记
1(基础知识)
主要跟小甲鱼老师的视频和王爽老师的书学习汇编,膜拜小甲鱼老师。第一章基础:寄存器:cup里的存储器,存放指令和数据。存储器:存放指令和数据。硬盘和内存都是存储器。存储单元(从0开始)总线:地址总线:寻址能力,(64位与32位区别)n根地址(一根1个字节=1个内存单元)控制总线:cpu对外界器件的控制数据总线:决定cpu和外界数据传送速度主板:核心器件接口:cpu不直接控制外部器件,通过接口卡控制存
AlunX
·
2023-04-10 12:33
汇编笔记
3(数据)
第7章(更灵活定位内存):andah,10011010B与运算(一0则0)可以把操作位设为0(11111101把第7位设为0)orah,10010010B或运算(一1则1)可以把操作位设为1(00000010把第7位设为0)'......'的方式表示ASCII码给出db'1234'=db31h,32h,33h,34h[bx+idata]访问偏移地址其他写法[idata+bx],idata[bx],
AlunX
·
2021-06-09 05:13
汇编笔记
(进制问题)
B:二进制D:十进制H:十六进制1个十六进制数可转化为4位16进制数。1字=2字节=4位十六进制数=16位二进制数AX寄存器储存一个字1234H=0001001000110100B其中AL存储字节34H=00110100B查看寄存器或内存单元时,计算机显示给我们看的数值为十六进制。但实际存储的是二进制.一个寄存器存储16位二进制输入一个十进制数,如何判断使用AL还是AX保存它?一个字最大存储数据=
余生筑
·
2021-05-16 02:35
汇编笔记
2
本来拿了毕业晚会的门票的,快到门口时,想起和cld一起时看晚会时的场景,突然就觉得索然无味了。so,回来乖乖写笔记。RAM随机存储器,可读可写,断电(关机)清零。当接口卡(如显卡)需要对输入/输出数据进行暂时存储时,就会用到RAM。(比如把一些内容写入显卡的RAM,那么这些内容就会出现在显示器上)ROM只读存储器,只读不可写。关机后内容不丢失。接口卡或主板中附有BIOS,负责实现接口卡或主板的基本
余生筑
·
2021-05-05 22:09
linux
汇编笔记
2
栈寄存器%esp指令指针%eip基址指针寄存器%ebp每当pushl压入栈,%esp所含的指针会减去4,popl则增加4,call指令会把下一条指令地址压入栈中,然后修改%eip以指向函数的起始处。ret将栈顶弹出,并设置指令寄存器%eip设置为弹出该值。
rush_mj
·
2021-04-23 20:39
汇编
汇编笔记
01进制02进制运算03二进制简写04数据宽度05无符号数有符号数06原码反码补码07计算机不会做加法计算机只会位运算08加减运算过程09汇编学习环境搭建10-11通用寄存器12内存13内存地址的
天天学姐_TianTian
·
2021-01-18 20:48
汇编
堆栈
逆向之
汇编笔记
一.通用寄存器数据寄存器EAX,EBX,ECX,EDX(DataRegister)数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。32位CPU有4个32位的通用寄存器EAX、EBX、ECX和EDX。对低16位数据的存取,不会影响高16位的数据。这些低16位寄存器分别命名为:AX、BX、CX和DX,它和先前的CPU中的寄存器相一致。4个16位寄存器又可
eqera
·
2020-12-30 13:03
windows
反汇编
汇编笔记
:syscall和int 80H
;nasm-felf64-g-Fstabstesthello.s;ld-ohellotesthello.osection.datamsg:db"helloworld!",10;ascii表中10对应换行符msglen:equ$-msgsection.bsssection.textglobal_start_start:Nop;i386通过中断(int0x80)来实现系统调用;寄存器eax中存放系统调
wxh_无香花自开
·
2020-10-10 18:42
asm
PIC
汇编笔记
1.1:二进制整数为'b'或'B'后跟一个或多个用单引号括起的二进制数字'01'。2:八进制整数为'o'或'O'后跟一个或多个用单引号括起的八进制数字‘01234567'。3:十进制整数为'd'或'D'后跟一个或多个用单引号括起的十进制数字‘0123456789’。或者,十进制整数为‘.'后跟一个或多个十进制数字'0123456789’。4:十六进制整数为'h'或'H'后跟一个或多个用单引号括起的
coolibin
·
2020-09-13 15:58
嵌入式
ARM
汇编笔记
(2)——函数调用规则
(本文所介绍的各个约定与32位armLinux系统C语言toolchain一致)1.栈栈保存着函数调用中的参数,寄存器上下文,局部变量。ARM中函数返回地址是寄存器上下文的一部分(lr),无需单列。栈由高地址向低地址增长,也就是说push会导致栈顶指针指向较低的地址,而pop则相反。同时约定了栈顶指针指向的是入栈的最后一个值的位置,而非下一个入栈位置。2.控制转移和寄存器上下文高级语言的函数调用在
sunty2016
·
2020-09-11 10:56
arm汇编
8086
汇编笔记
——概述
8086
汇编笔记
——基础概述一、简述这个笔记是学习王爽老师写的汇编语言以后整理得出的,这是一本非常好的书,大家有兴趣可以买来看看。
gscsdlz
·
2020-08-24 14:39
8086汇编笔记
汇编笔记
4(跳转)
第9章(转移指令):8086转移指令:无条件转移指令,条件转移指令,循环指令,过程,中断offset(伪指令):取得标号偏移地址(也就是要配合标号使用))取得值相当于一个常数(不能直接给段寄存器)jmp(无条件跳转):可以修改ip也可以修改cs和ip(基于偏移)jmpshort标号:修改ip机器指令不包含目的地址,包含偏移地址short8位的转移(-128~127),nearptr16位的转移(-
AlunX
·
2020-08-21 21:17
汇编笔记
1.cpu通过地址总线,数据总线,控制总线与外界通讯2.段地址*16+偏移地址等于物理地址。8086的每个段最大64k,地址总线是20位,最大寻址空间是1M。因为寄存器只有16位,所以采用段地址寄存器+偏移量寄存器一起来实现物理寻址。段地址并不是简单的将内存分段。同一个物理地址,可以是不同的段地址*16+偏移地址得到,只要能得到物理地址就ok。3.cpu会将物理内存,显卡,网卡,主板上的ROM上的
Tom098
·
2020-08-18 10:37
汇编
ARM
汇编笔记
(3)——NEON intrinsics 函数
本文打算介绍下ARM的SIMD指令在C语言下intrinsics函数的使用方法,算是对于NEON的一个入门吧。严格来说本文并不是关于ARM汇编的,但是多多少少有关系。SIMD什么是SIMD呢?就是一条指令处理多个数据,可以算作是一种并行计算。比如我们要做一个4维向量的加法,用一般的指令完成必须使用4次加法指令才行,而用SIMD指令可能只需要一次加法,而且花费的时间和一般指令做一次加法的时间相同。很
sunty2016
·
2020-08-16 20:54
arm汇编
汇编笔记
--操作项
属性操作符:1.PTR本身并不存储器,只是用来给已分配的存储地址赋予另一种属性,使该地址具有另一种类型。typePTRexpression其中type指明类型可以是byteworddwordFWORDQWORDTWORDnearfar,expression是被取代的符号地址举例:TWO_BYTEDW?ONE_BYTEEQUBYTEPTRTWO_BYTE这样这个地址便有了属性举例:MOV[SI],1
visayafan
·
2020-08-14 04:15
Assembly
汇编
byte
存储
table
汇编笔记
(二)
2012/3/1412-14栈:主要漏洞(1)内存中字的存储如在0地址处开始存放20000(4e20H)020H低地址单元14eH高地址单元020H14eH212H则1地址存放的字型数据是124eH故有任何两个地址N和N+1将它们看成两个地址单元也可以看成一个字型数据(2)moval,[0]al存放一个字节8位即为把一个内存单元的数据读到al中ds为段地址[0]中的0为偏移地址10000H=100
weixin_30488313
·
2020-08-10 22:49
汇编笔记
13(P135)
dw:从CS:0开始填入字型数据。程序6.1CS:0-CS:D皆存放数据,E开始存放机器码。但注意ip初始值仍为0问题来了,CPU是依据CS:IP值来读取内存中机器码从而执行程序的。一个程序执行结果正确的前提是IP应该指向代码段的第一条语句。因此,我们需要人为设置一下IP值。程序6.2可以发现p值被修改了程序6.3其实8个0就够了。注意dw后接的数据会写入cs中,而[bx]的段地址为ds通过u可判
余生筑
·
2020-07-28 08:54
常见函数调用约定(x86、x64、arm、arm64)
我学习逆向,整理的一些常见的函数调用约定反
汇编笔记
。由于我是新手,肯定有一些疏漏不完善的,我遇到了会实时更新的。
菜鸟无影
·
2020-07-27 18:18
反汇编分析
汇编笔记
12
思考:如何把ffff:0-ffff:b单元中的数据之和写入寄存器dx中呢?一般来说,我们把一个数据单元中的数据移到一个寄存器中的方法是"dl=0,dh=数据单元值"的形式。但上述问题中需要转移的是ff:0-fff:b单元中的数据之和,结果很可能大于8位。因此我们选择,让一个寄存器的高(低位)依次存储ff:0-fff:b单元中的数据,再依次加入寄存器dx中。————代码见P125.用loop指令实现
余生筑
·
2020-07-13 15:34
汇编笔记
:寄存器介绍
寄存器是CPU的组成部分,因为在CPU内,所以CPU对其读写速度是最快的,不需要IO传输,但同时也决定了此类寄存器数量非常有限,有限到几乎每个存储都有自己的名字,而且有些还有多个名字。IA-32构架提供了16个基本寄存器,这16个基本寄存器可以归纳为如下几类:通用寄存器段寄存器状态和控制寄存器指令寄存器通用寄存器32位通用寄存器有八个,eax,ebx,ecx,edx,esi,edi,ebp,esp
wxh_无香花自开
·
2020-07-11 14:42
asm
汇编笔记
寄存器介绍
汇编笔记
11
段前缀:用于显示指明内存单元的段地址。图片发自App从在键盘上按下'a'到屏幕上显示'a',中间发生了什么?(ASCII码的编码和解码)1.按键信息被送入计算机2.计算机对按键信息进行编码,转化为十六进制信息61H,储存在内存空间中3.文本编辑器从内存中取出61H4.显卡对61H进行解码,获得'a'5.显卡驱动显示器,将字符'a'投影至屏幕或运算:0+1=1;与运算:0*1=1;and指令:按位执
余生筑
·
2020-07-11 04:44
汇编笔记
更新于201909291.Intel和AT&T汇编参数是反的,AT&T寄存器前加%,常量前加$Intelmovrax,rcx;rcx->raxmovcl,2对应AT&Tmovq%rcx,%rax;rcx->raxmov$2,%cl后文中如无特殊说明,都是Intel格式2.寄存器64位系统下能用的通用寄存器如下图:区别有:64位有16个寄存器,32位只有8个。但是32位前8个都有不同的命名,分别是e
woswod
·
2020-06-29 20:02
逆向分析
汇编
计原与
汇编笔记
-- 指令系统(一)
第四章指令系统(一)指令格式一、操作码结构设计固定长度操作码结构操作码集中存放在指令的一个字段内,其长度是定长的优点:译码时间短,便于硬件的设计和实现(MIPS指令的操作码字段为6位定长操作码结构可变长度操作码结构P83特点:以16位指令字长为例,将最高四位o’b0000~o’b1110设置为三地址指令,剩下的o’b1111作为扩展标志,以接下来四位作为实际指令。除了这种扩展方式,还可以有其他扩展
weixin_39203419
·
2020-06-28 22:23
笔记
汇编笔记
8
add指令图片发自AppCPU中的栈机制图片发自AppCPU提供栈作为内存空间,它具有以下特点1.栈顶的段地址储存在SS中,偏移地址储存在SP中。SS:SP时刻指向栈顶元素。2.push,pop指令的最小工作单位是字。3.push(入栈)操作导致SP减小2个字节,pop(出栈)反之。4.当出栈入栈操作导致栈顶位置在栈外时,push/pop操作会导致栈外空间数据被覆盖。5.由于SP寄存器为16位,因
余生筑
·
2020-06-22 18:00
汇编笔记
1
机器语言:对机器下达的,会被转化为机器可以理解的高低电平的指令。汇编语言:机器语言的更优表达方式。(类似于用域名代替ip)。图片发自App编译器:负责将汇编语言转换为机器语言。(类似于DNS的作用)。图片发自App图片发自App可以这么理解,内存就像一片居民区,一个存储器就是一幢房子,一幢房子有若干(128)个房间。整片居民区的每个房间都有各自专属的,且不重复的门牌号。规定一个房间最多住8人,8人
余生筑
·
2020-04-09 23:28
汇编笔记
9
伪指令不具体指明做什么,起标识作用的指令。程序从写出到执行图片发自App图片发自App含伪指令的汇编程序伪指令1.assume段寄存器名:段名表示该内存段与CPU中的某个段寄存器建立起联系。2.段名segment对该段的操作开始3.段名ends对该段的操作结束4.ends程序结束标识程序返回图片发自App其中,P1交还控制权的行为,就称为"程序返回"。(“A程序运行结束后,返回到B程序”,意思就是
余生筑
·
2020-04-09 17:37
汇编笔记
##前言最近在看一些关于linuxstartup的东西,对于其中使用到的AT&T的汇编语法有点陌生,所以写下这篇文章来帮助自己和更多的人了解一些常见的AT&T汇编的语法。因为之前看过一段时间的汇编语法,所以并不会对其中的语法有过多的深入(主要是自己学的还不够好,大大的羞愧),仅针对自己感兴趣的方面,如果有同学对其中的部分感兴趣或者想给予扩充,非常欢迎!(你问我支不支持,我是支持滴!)##学习环境因
燃烧吧hjc
·
2020-04-08 02:26
MASM
汇编笔记
这学期有了汇编课,但个人感觉这部分难度还是有一些的,所以写了这篇当做自己对于知识的复习,同时也是希望能够再次加深理解,虽然汇编语言在当今用的比较少了,但是作为一名计算机专业的学生,我们还是应该有所了解的。我的这篇文章分为三个部分第一部分:通过看MASM的默认程序段,对一些基本概念略作了解第二部分:通过解读一道例题,了解简单的汇编指令(个人感觉跟高级语言还是有一些差异的)第三部分:总结一下编写汇编语
kl_w
·
2020-04-02 03:10
汇编笔记
进制进制的本质不是运算,而是对应规则,俗称查表。无论什么进制,都有自己的一套方法,然后,只要做出加法表,乘法表,便可以加减乘除。如果想像十进制一样熟练计算,那么直需要像上小学那样背诵加法表和乘法表就可以了。数据宽度/逻辑运算计算机中,任何存储的数据都是有宽度的,有长度限制。如果超出界限,数据便会丢弃。缩写中文位数BYTE字节8BITWORD字16BITDWORD双字节32BIT计算机CPU计算加法
我要挖0day
·
2020-03-21 02:55
汇编笔记
5(标志与中断)
第11章(标志寄存器):标志寄存器都是16位flag:按位起作用(其他寄存器是整个起作用)1,3,5,12,13,14,15为保留位,不具有意义debug中的对应零位标志位ZF:(6)上一次指令执行后结果为0则为1(0)NZ(1)ZR奇偶标志位PF:(2)二进制1的个数为偶数为1,为奇数为0POPE符号标志位SF:(7)结果为负为1,为正为0(对于有符号数)PLNG进位标志位CF:(0)无符号运算
AlunX
·
2020-03-15 13:42
汇编笔记
2(编程)
第4章(第一个程序):用到的工具:MASM.exeLINK.exe伪指令:编译器处理例:assumecs:codesg(定义一个代码段名称)codesgsegment(代码段)start:汇编语句codesgends(配合结束)endassum假设关联start:入口(可以自己命名)编译->可执行文件(pe)int中断结束:程序返回:movax,4c00int21段结束:ends程序结束:end加
AlunX
·
2020-03-08 06:20
汇编笔记
7
1字=2个字节,一个16位寄存器储存一个字,其中高8位储存高字节,低8位储存低字节。图片发自App上图中,0字节单元和1字节单元构成了一个字单元,其中1字节单元存储高位字节,0字节单元存储低位字节。8086CPU中的寄存器通用寄存器:AX,BX,CX,DX,SP,BP,SI,DI。指令寄存器:IP标志寄存器:FR段寄存器:CS,DS,ES,SS。mov指令mov指令用于实现寄存器和内存单元间的数据
余生筑
·
2020-02-29 16:37
汇编笔记
6
在5中我们说过了,CPU内部生成物理地址需要段地址和偏移地址。那么这两个变量由谁来提供呢?答案是CPU的CS和IP寄存器。CPU从内存中读取的是指令和数据,下面我们分別来讲讲这两者是如何被读取的。CPU读取指令图片发自AppCPU准备读取内存中指令前的初始状态图片发自App当CPU开始读取,执行内存中的指令时,事实上是这样一个过程:每一条指令所在的内存单元视为一个段,IP初始值为0,在执行某条指令
余生筑
·
2020-02-19 17:13
汇编笔记
一 : 初始汇编
汇编语言百度百科词条:image.png机器语言由0和1组成的机器指令.汇编语言(assemblylanguage)由于机器语言指令都是由01组成,难以编写,记忆和维护程序.所以汇编语言为了解决这一问题产生。汇编语言的主体是汇编指令,汇编指令是机器指令的助记符。使用助记符代替机器语言高级语言(High-levelprogramminglanguage)C\C++\Java\OC\Swift,更加接
Superman168
·
2020-02-10 09:29
汇编笔记
一
存储芯片分两种:RAM(随机存储器)和ROM(只读存储器),前者可读可写但断电后数据丢失,后者只可读但断电后只可读RAM分两种主板上的RAM和扩展插槽(外设的插口)上的RAM扩展插槽的RAM:某些接口卡需要对大批输入,输出数据进行暂时存储,在其装饰RAM。例如显卡里的RAM(显存)会把存在里面的数据输出到屏幕上。——————————————ROM有装有BIOS的ROM:BIOS是主板和各类接口卡厂
PYozo_free
·
2019-12-03 22:00
汇编笔记
汇编定义汇编大多数是指**汇编语言,汇编程序。把机器语言翻译成机器语言**的过程称为汇编。高级语言与计算机交互91FEEFE7-BCB9-4AA8-B9CC-57713B731A8B.png汇编语言与机器语言一一对应,每一条机器指令都有与之对应的汇编指令汇编语言可以通过编译得到机器语言,机器语言可以通过反汇编得到汇编语言高级语言可以通过编译得到汇编语言、机器语言,但汇编和机器语言几乎无法还原成高级
Luyc_Han
·
2019-11-07 21:31
汇编笔记
_第十三章
title:
汇编笔记
_第十三章date:2019-01-0215:45:55tags:笔记categories:汇编语言中断程序设计int指令intn:n为中断类型码,功能是引发中断过程定制自己的中断eg
31415926535x
·
2019-01-02 17:00
汇编笔记
_第十二章
title:
汇编笔记
_第十二章date:2019-01-0118:49:05tags:笔记categories:汇编语言内中断中断的产生中断:中断分为软件中断和硬件中断,前者又称为内中断后者又称为外部中断
31415926535x
·
2019-01-01 23:00
汇编笔记
_第十一章
title:
汇编笔记
_第十一章date:2018-12-3014:00:51tags:笔记categories:汇编语言标志寄存器标志寄存器的作用:用来存储相关指令的某些执行结果用来为CPU执行相关指令提供行为依据用来控制
31415926535x
·
2018-12-30 18:00
汇编笔记
_第十章
title:
汇编笔记
_第十章date:2018-12-2818:18:50笔记categories:汇编语言call和ret指令ret和retfret指令用栈中的数据,修改IP的内容,从而是实现近转移,
31415926535x
·
2018-12-29 19:00
汇编笔记
_第九章
title:
汇编笔记
_第九章date:2018-12-2721:30:12笔记categories:汇编语言转移指令的原理8086CPU的转移指令分为以下几类:无条件转移指令(如:jmp)条件转移指令循环指令
31415926535x
·
2018-12-27 22:00
汇编笔记
_第八章
title:
汇编笔记
_第八章date:2018-12-2720:04:33tags:笔记categories:汇编语言数据处理的两个基本问题两个描述性符号寄存器reg:包括ax,bx,cx,dx,sp,
31415926535x
·
2018-12-27 21:00
汇编笔记
_第七章
title:
汇编笔记
_第七章date:2018-12-2621:47:17tags:笔记categories:汇编语言更灵活的定位内存地址的方法and和or指令and指令:逻辑与指令,按位进行与运算;通过该指令可以将操作对象的相应为设为
31415926535x
·
2018-12-27 20:00
汇编笔记
_第六章
title:
汇编笔记
_第六章date:2018-12-2617:44:59tags:笔记categories:汇编语言包含多个段的程序在代码段中使用数据先看程序:assumecs:codesgcodesgsegmentdw0123h
31415926535x
·
2018-12-26 21:00
上一页
1
2
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他