Basically a summary attempt of "Data Movement Instructions" , chapter#4 of the book entitled "The Intel Microprocessors: Architecture, Programming, and Interfacing" by Barry B. Brey.
Audio Version available in YouTube Link : www.youtube.com/Aksharam
subscribe the channel
Computer Architecture and Organization
V semester
Anna University
By
Babu M, Assistant Professor
Department of ECE
RMK College of Engineering and Technology
Chennai
FellowBuddy.com is an innovative platform that brings students together to share notes, exam papers, study guides, project reports and presentation for upcoming exams.
We connect Students who have an understanding of course material with Students who need help.
Benefits:-
# Students can catch up on notes they missed because of an absence.
# Underachievers can find peer developed notes that break down lecture and study material in a way that they can understand
# Students can earn better grades, save time and study effectively
Our Vision & Mission – Simplifying Students Life
Our Belief – “The great breakthrough in your life comes when you realize it, that you can learn anything you need to learn; to accomplish any goal that you have set for yourself. This means there are no limits on what you can be, have or do.”
Like Us - https://www.facebook.com/FellowBuddycom
Communication protocols (like UART, SPI, I2C) play an very important role in Micro-controlled based embedded systems development. These protocols helps the main board to communicate with different peripherals by interfacing mechanism. Here is a presentation that talks about how these protocols actually work.
In this lecture you can learn about IPv4 addressing Schemes and subnetting in easy and simple way. the topics are explained with example which can help you to understand the concept.
Audio Version available in YouTube Link : www.youtube.com/Aksharam
subscribe the channel
Computer Architecture and Organization
V semester
Anna University
By
Babu M, Assistant Professor
Department of ECE
RMK College of Engineering and Technology
Chennai
FellowBuddy.com is an innovative platform that brings students together to share notes, exam papers, study guides, project reports and presentation for upcoming exams.
We connect Students who have an understanding of course material with Students who need help.
Benefits:-
# Students can catch up on notes they missed because of an absence.
# Underachievers can find peer developed notes that break down lecture and study material in a way that they can understand
# Students can earn better grades, save time and study effectively
Our Vision & Mission – Simplifying Students Life
Our Belief – “The great breakthrough in your life comes when you realize it, that you can learn anything you need to learn; to accomplish any goal that you have set for yourself. This means there are no limits on what you can be, have or do.”
Like Us - https://www.facebook.com/FellowBuddycom
Communication protocols (like UART, SPI, I2C) play an very important role in Micro-controlled based embedded systems development. These protocols helps the main board to communicate with different peripherals by interfacing mechanism. Here is a presentation that talks about how these protocols actually work.
In this lecture you can learn about IPv4 addressing Schemes and subnetting in easy and simple way. the topics are explained with example which can help you to understand the concept.
Addressing mode and instruction set using 8051logesh waran
1. Immediate addressing mode:
In this type, the operand is specified in the instruction along with the opcode. In simple way, it means data is provided in instruction itself.
Ex: MOV A,#05H -> Where MOV stands for move, # represents immediate data. 05h is the data. It means the immediate date 05h provided in instruction is moved into A register.
2.Register addressing mode:
Here the operand in contained in the specific register of microcontroller. The user must provide the name of register from where the operand/data need to be fetched. The permitted registers are A, R7-R0 of each register bank. Ex: MOV A,R0-> content of R0 register is copied into Accumulator.
3. Direct addressing mode:
In this mode the direct address of memory location is provided in instruction to fetch the operand. Only internal RAM and SFR's address can be used in this type of instruction.
Ex: MOV A, 30H => Content of RAM address 30H is copied into Accumulator.
4. Register Indirect addressing mode:
Here the address of memory location is indirectly provided by a register. The '@' sign indicates that the register holds the address of memory location i.e. fetch the content of memory location whose address is provided in register.
Ex: MOV A,@R0 => Copy the content of memory location whose address is given in R0 register.
5. Indexed Addressing mode:
This addressing mode is basically used for accessing data from look up table. Here the address of memory is indexed i.e. added to form the actual address of memory.
Ex: MOVC A,@A+DPTR => here 'C' means Code. Here the content of A register is added with content of DPTR and the resultant is the address of memory location from where the data is copied to A register.
Describes ARM7-TDMI Processor Instruction Set. Explains classes of ARM7 instructions, syntax of data processing instructions, branch instructions, load-store instructions, coprocessor instructions, thumb state instructions.
Francesca Gottschalk - How can education support child empowerment.pptxEduSkills OECD
Francesca Gottschalk from the OECD’s Centre for Educational Research and Innovation presents at the Ask an Expert Webinar: How can education support child empowerment?
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...Levi Shapiro
Letter from the Congress of the United States regarding Anti-Semitism sent June 3rd to MIT President Sally Kornbluth, MIT Corp Chair, Mark Gorenberg
Dear Dr. Kornbluth and Mr. Gorenberg,
The US House of Representatives is deeply concerned by ongoing and pervasive acts of antisemitic
harassment and intimidation at the Massachusetts Institute of Technology (MIT). Failing to act decisively to ensure a safe learning environment for all students would be a grave dereliction of your responsibilities as President of MIT and Chair of the MIT Corporation.
This Congress will not stand idly by and allow an environment hostile to Jewish students to persist. The House believes that your institution is in violation of Title VI of the Civil Rights Act, and the inability or
unwillingness to rectify this violation through action requires accountability.
Postsecondary education is a unique opportunity for students to learn and have their ideas and beliefs challenged. However, universities receiving hundreds of millions of federal funds annually have denied
students that opportunity and have been hijacked to become venues for the promotion of terrorism, antisemitic harassment and intimidation, unlawful encampments, and in some cases, assaults and riots.
The House of Representatives will not countenance the use of federal funds to indoctrinate students into hateful, antisemitic, anti-American supporters of terrorism. Investigations into campus antisemitism by the Committee on Education and the Workforce and the Committee on Ways and Means have been expanded into a Congress-wide probe across all relevant jurisdictions to address this national crisis. The undersigned Committees will conduct oversight into the use of federal funds at MIT and its learning environment under authorities granted to each Committee.
• The Committee on Education and the Workforce has been investigating your institution since December 7, 2023. The Committee has broad jurisdiction over postsecondary education, including its compliance with Title VI of the Civil Rights Act, campus safety concerns over disruptions to the learning environment, and the awarding of federal student aid under the Higher Education Act.
• The Committee on Oversight and Accountability is investigating the sources of funding and other support flowing to groups espousing pro-Hamas propaganda and engaged in antisemitic harassment and intimidation of students. The Committee on Oversight and Accountability is the principal oversight committee of the US House of Representatives and has broad authority to investigate “any matter” at “any time” under House Rule X.
• The Committee on Ways and Means has been investigating several universities since November 15, 2023, when the Committee held a hearing entitled From Ivory Towers to Dark Corners: Investigating the Nexus Between Antisemitism, Tax-Exempt Universities, and Terror Financing. The Committee followed the hearing with letters to those institutions on January 10, 202
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
Embracing GenAI - A Strategic ImperativePeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
Safalta Digital marketing institute in Noida, provide complete applications that encompass a huge range of virtual advertising and marketing additives, which includes search engine optimization, virtual communication advertising, pay-per-click on marketing, content material advertising, internet analytics, and greater. These university courses are designed for students who possess a comprehensive understanding of virtual marketing strategies and attributes.Safalta Digital Marketing Institute in Noida is a first choice for young individuals or students who are looking to start their careers in the field of digital advertising. The institute gives specialized courses designed and certification.
for beginners, providing thorough training in areas such as SEO, digital communication marketing, and PPC training in Noida. After finishing the program, students receive the certifications recognised by top different universitie, setting a strong foundation for a successful career in digital marketing.
2. OBJECTIVE
● Machine language introduction
● Instructions modes
● Assembly instructions breakdown
● Assembly instruction to machine code conversion
3. MOV Revisited
● used earlier to explain addressing modes
● will be now used to demonstrate machine language
instructions
4. Machine Language
● native (binary) code that microprocessor understands
● instructions for the 8086 through the Core2 may vary in
length from 1 to as many as 13 bytes
● no complete list of these variations
● as many as 100,000 variations of instructions
5. INSTRUCTION MODES
● 16-bit mode(DOS mode):
○ 8086 through the 80286 uses this form
○ compatible in upper versions(80386 and upper) as well if they are
programmed to do so
● 32-bit mode:
○ but needs to be prefixed as below:
6. INSTRUCTION MODES(cntnd)
● 80386 and above assume that all instructions are 16-bit
mode when operated in real mode
● in protected mode D-bit selects in between (16 or 32)
D = 0, instructions are 16-bit instructions
16-bit offset addresses and register
D = 1, 32 bit instructions, 32 bit offset, registers
7. INSTRUCTION MODES(cntnd)
● first two bytes are called Override Prefixes
● Address size(67H): modifies the size of the operand
address
● Register/Operand size(66H): modifies register size
8. INSTRUCTION MODES(cntnd)
● By default:
○ l6-bit instruction mode uses 8- and l6-bit registers and addressing
modes
○ 32-bit instruction mode uses 8- and 32-bit registers and addressing
modes
● prefixes basically overrides these defaults so that a
32-bit register can be used in the l6-bit mode and vice
versa
● selecting mode-of-operation depends on application
○ 32-bit mode: if 8 or 32 bit data dominates the app
○ 16-bit mode: if 8 or 16 bit data dominates the app
● mode selection is done by OS
9. INSTRUCTION MODES(cntnd)
● Example (32-bit mode):
○ mov <mem>, <reg>
○ possible combinations:
■ default:
● moves 32 bits from a 32 bit register to memory using 32 bit
address
■ if preceded by operand-size prefix
● moves 16 bits from a 16 bit register to memory using 32 bit
address
■ if preceded by address-size prefix
● moves 32 bits from a 32 bit register to memory using 16 bit
address
■ if preceded by both operand-size and address-size prefix
● moves 16 bits from a 16 bit register to memory using 16 bit
address
10. INSTRUCTION MODES(cntnd)
● Example (16-bit mode):
○ mov <mem>, <reg>
○ possible combinations:
■ default:
● moves 16 bits from a 16 bit register to memory using 16 bit
address
■ if preceded by operand-size prefix
● moves 32 bits from a 32 bit register to memory using 16 bit
address
■ if preceded by address-size prefix
● moves 16 bits from a 16 bit register to memory using 32 bit
address
■ if preceded by both operand-size and address-size prefix
● moves 32 bits from a 32 bit register to memory using 32 bit
address
11. OPCODE
● selects the operation to be executed(add, sub, etc)
● 1 or 2 bytes long
● first 6 bits of the first byte is binary opcode
● D represents direction (appears mainly in mov and
mov-alike operations)
● W represents Word (appears in all instructions)
12. OPCODE(cntnd)
● List of some opcodes*
Instruction opcode
ADD 000000dw
AND 001000dw
DAA 00100111
DAS 00101111
DIV 1111011w
JMP(short) 11101011
JMP(near) 11101001
JMP(far) 11101010
MOV 100010dw
*
see Appendix-B for full list
13. OPCODE(contnd)
● If D == 0, data flows to the R/M field from the REG field
● If D == 1, data flows to the REG field from the R/M field
REG R/M
R/M REG
14. OPCODE(contnd)
● If W == 0, data size is always a byte
● If W == 1, data size is WORD/DOUBLE-WORD
○ recall that how register-size prefix determines it
15. MOD
● specifies the addressing mode
● MOD → mode, REG → register, R/M → register/memory
● MOD selects the type of addressing and whether a
displacement is present with that type
19. MOD(32-bit instructions)
● gets selected by address-size override prefix or
operating mode of OS
● 8-bit displacements are sign-extended into 32-bit
displacements
● i.e.:
○ 00–7FH (positive) → 00000000–0000007FH
○ 80–FFH (negative) → FFFFFF80-FFFFFFFFH
20. Register Assignments
● recall that double-word are only available to the
80386-Core2
● this table is accountable for REG (in any case) and for
R/M (only when it stands for register i.e: MOD = 11)
21. R/M Memory Assignments
● this table is accountable for REG (in any case) and for
R/M (only when it stands for memory i.e: MOD = 00 | 01 |
10),
* see exercise-4 for special addressing
16-bit addressing mode 32-bit addressing mode
22. Example_1:2-Byte Instruction
● 8BECH:
○ let’s take it as a 16-bit instruction mode
○ not prefixed by 66H or 67H
○ so, first byte 8B is opcode
● Opcode := 100010 ⇒ MOV
● D := 1 ⇒ R/M → REG
● W := 1 ⇒ WORD
OPCODE D W
1 0 0 0 1 0 1 1
23. Example_1:2-Byte Instruction(cntnd)
● 8BECH:
○ second byte, EC
● MOD := 11 ⇒ R/M is register
○ i.e.: register to register addressing
● REG := 101 ⇒ BP(destination)
● R/M := 100 ⇒ SP(source)
MOD REG R/M
1 1 1 0 1 1 0 0
24. Example_1:2-Byte Instruction(cntnd)
● Let’s put it all together:
○ the instruction(8BECH):= MOVes a word from SP to BP
○ i.e.: MOV BP, SP
● self:
○ figure out the instruction if it was operated in 32-bit instruction
mode and match your answer with the given one after going through
each step:
○ Answer: MOV EBP, ESP
25. Example_2:3-Byte Instruction
● 668BE8H:
○ let’s take it as a 16-bit instruction mode
○ prefixed by 66H(register-size override prefix)
■ so, 32 bit register operand
○ so, second byte 8B is opcode
● Opcode := 100010 ⇒ MOV
● D := 1 ⇒ R/M → REG
● W := 1 ⇒ DOUBLE-WORD
OPCODE D W
1 0 0 0 1 0 1 1
26. Example_2:3-Byte Instruction(cntnd)
● 668BE8H:
○ third byte, E8
● MOD := 11 ⇒ R/M is register
○ i.e.: register to register addressing
● REG := 101 ⇒ EBP(destination)
● R/M := 000 ⇒ EAX(source)
MOD REG R/M
1 1 1 0 1 0 0 0
27. Example_2:3-Byte Instruction(cntnd)
● Let’s put it all together:
○ the instruction(668BE8H):= MOVes a double-word from EAX to EBP
○ i.e.: MOV EBP, EAX
● self:
○ figure out the instruction if it was operated in 32-bit instruction
mode and match your answer with the given one after going through
each step:
○ Answer: MOV BP, AX
28. Example_3:2-Byte Instruction
● 8A15H:
○ let’s take it as a 16-bit instruction mode
○ not prefixed by 66H or 67H
○ so, first byte 8A is opcode
● Opcode := 100010 ⇒ MOV
● D := 1 ⇒ R/M → REG
● W := 0 ⇒ BYTE
OPCODE D W
1 0 0 0 1 0 1 0
29. Example_3:2-Byte Instruction(cntnd)
● 8A15H:
○ second byte, 15
● MOD := 00 ⇒ R/M is memory with no displacement
○ i.e.: memory to register addressing
● REG := 010 ⇒ DL(destination)
● R/M := 101 ⇒ DS:[DI](source)
MOD REG R/M
0 0 0 1 0 1 0 1
32. Example_4:Special Addressing(cntnd)
● 88160010H:
○ let’s take it as a 16-bit instruction mode
○ not prefixed by 66H or 67H
○ so, first byte 88 is opcode
● Opcode := 100010 ⇒ MOV
● D := 0 ⇒ R/M ← REG
● W := 0 ⇒ BYTE
OPCODE D W
1 0 0 0 1 0 0 0
36. Example_4:Special Addressing(cntnd)
● Let’s put it all together:
○ the instruction(88160010H):= MOVes a byte from register DL into data
segment memory location 1000H
○ i.e.: MOV [1000H], DL
37. Example_5:Special Addressing
● if an instruction has BP addressing mode(i.e: contains
R/M code 110)
○ there will always be a displacement
○ adds 0 if no displacement is specified
○ example: MOV [BP], DL turns into MOV [BP + 0], DL
38. Example_5:Special Addressing(cntnd)
● 885600H:
○ let’s take it as a 16-bit instruction mode
○ not prefixed by 66H or 67H
○ so, first byte 88 is opcode
● Opcode := 100010 ⇒ MOV
● D := 0 ⇒ R/M ← REG
● W := 0 ⇒ BYTE
OPCODE D W
1 0 0 0 1 0 0 0
39. Example_5:Special Addressing(cntnd)
● 885600H:
○ second byte, 56
● MOD := 01 ⇒ R/M is memory
○ 8 bit displacement
● REG := 010 ⇒ DL(destination)
● R/M := 110 ⇒ DS:[BP](source)
MOD REG R/M
0 1 0 1 0 1 1 0
41. Example_5:Special Addressing(cntnd)
● Let’s put it all together:
○ the instruction(885600H):= MOVes a byte from register DL into data
segment memory location pointed by BP plus displacement 00H
○ i.e.: MOV [BP], DL
○ i.e: MOV [BP + 0], DL
42. Exercise
● Convert the following machine codes into assembly
instruction(consider both 16 and 32-bit instruction
mode):
○ 8B07H
○ 8B9E004CH
○ 8A5501H
○ 8A750010H
○ 88160010H
○ 885600H
43. Exercise
● Write down the corresponding machine code for the
instructions given below(both in 16 and 32-bit
instruction mode):
○ mov ah, dh
○ MOV SI,[BX+2]
○ MOV ESI,[EAX]
○ MOV DL, [DI+1000H]
○ MOV DL, [DI+1H]
○ MOV [1000H],DL
○ MOV [BP],DL