This document discusses setting up automated monitoring of a BizTalk environment using BAM (Business Activity Monitoring). It outlines several challenges faced with different implementation attempts, including issues with tools timing out or exceeding limits. Recommendations provided include using BAM in stable environments, scaling infrastructure appropriately, and knowing when to use tracking instead of BAM.
This document summarizes the technology stack and use of websockets at oneplaylist.fm. The key aspects are:
- The stack includes Ruby on Rails, Redis, EventMachine, HAProxy, Resque, MongoDB, CoffeeScript, and Elasticsearch.
- HAProxy is used for TCP load balancing and handles HTTP as well, distributing traffic across multiple Rails app servers, Elasticsearch instances, and the EventMachine websocket server.
- Websockets are handled via a TCP connection to the EventMachine server through a separate subdomain, keeping HTTP requests on the main app domain.
- Redis is used for centralized communication and state management via Pub/Sub, with tokens mapping users to channels and event data pushed
Creating Secure VM (Comarison between Intel and AMD, and one more thing...) -...Tsukasa Oi
This document discusses creating secure virtual machines through techniques like setting breakpoints using debug registers or page table modifications. It compares Intel and AMD virtualization technologies, specifically how AMD-V can intercept the IRET instruction while both support using debug registers or page tables for breakpoints. Full virtualization of x86 on x86_64 architectures is also discussed as a way to do instruction tracing for purposes like malware analysis and reverse engineering. Limitations include supporting x86 segmentation and needing very fast storage for tracing large amounts of data.
This talk explains how to deploy Elixir in a real-world production setting, including releases, rolling and hot upgrades, rollbacks, clustering, and fault tolerance. Mentioned in detail are some of the numerous gotchas the Elixir developer may encounter on the way to creating a bulletproof service.
Binary Obfuscation from the Top Down: Obfuscation Executables without Writing...frank2
Binary obfuscation is a mysterious ritual employed by malware authors and software vendors alike that no one really seems to talk about. It's almost like a secret society. Interestingly, you don't have to write a program to obfuscate the binary-- you can also write high-level code that obfuscates at compile-time, rather than afterward.
This document discusses setting up automated monitoring of a BizTalk environment using BAM (Business Activity Monitoring). It outlines several challenges faced with different implementation attempts, including issues with tools timing out or exceeding limits. Recommendations provided include using BAM in stable environments, scaling infrastructure appropriately, and knowing when to use tracking instead of BAM.
This document summarizes the technology stack and use of websockets at oneplaylist.fm. The key aspects are:
- The stack includes Ruby on Rails, Redis, EventMachine, HAProxy, Resque, MongoDB, CoffeeScript, and Elasticsearch.
- HAProxy is used for TCP load balancing and handles HTTP as well, distributing traffic across multiple Rails app servers, Elasticsearch instances, and the EventMachine websocket server.
- Websockets are handled via a TCP connection to the EventMachine server through a separate subdomain, keeping HTTP requests on the main app domain.
- Redis is used for centralized communication and state management via Pub/Sub, with tokens mapping users to channels and event data pushed
Creating Secure VM (Comarison between Intel and AMD, and one more thing...) -...Tsukasa Oi
This document discusses creating secure virtual machines through techniques like setting breakpoints using debug registers or page table modifications. It compares Intel and AMD virtualization technologies, specifically how AMD-V can intercept the IRET instruction while both support using debug registers or page tables for breakpoints. Full virtualization of x86 on x86_64 architectures is also discussed as a way to do instruction tracing for purposes like malware analysis and reverse engineering. Limitations include supporting x86 segmentation and needing very fast storage for tracing large amounts of data.
This talk explains how to deploy Elixir in a real-world production setting, including releases, rolling and hot upgrades, rollbacks, clustering, and fault tolerance. Mentioned in detail are some of the numerous gotchas the Elixir developer may encounter on the way to creating a bulletproof service.
Binary Obfuscation from the Top Down: Obfuscation Executables without Writing...frank2
Binary obfuscation is a mysterious ritual employed by malware authors and software vendors alike that no one really seems to talk about. It's almost like a secret society. Interestingly, you don't have to write a program to obfuscate the binary-- you can also write high-level code that obfuscates at compile-time, rather than afterward.
Messaging, interoperability and log aggregation - a new frameworkTomas Doran
In this talk, I will talk about why log files are horrible, logging log lines, and more structured performance metrics from large scale production applications as well as building reliable, scaleable and flexible large scale software systems in multiple languages.
Why (almost) all log formats are horrible will be explained, and why JSON is a good solution for logging will be discussed, along with a number of message queuing, middleware and network transport technologies, including STOMP, AMQP and ZeroMQ.
The Message::Passing framework will be introduced, along with the logstash.net project which the perl code is interoperable with. These are pluggable frameworks in ruby/java/jruby and perl with pre-written sets of inputs, filters and outputs for many many different systems, message formats and transports.
They were initially designed to be aggregators and filters of data for logging. However they are flexible enough to be used as part of your messaging middleware, or even as a replacement for centralised message queuing systems.
You can have your cake and eat it too - an architecture which is flexible, extensible, scaleable and distributed. Build discrete, loosely coupled components which just pass messages to each other easily.
Integrate and interoperate with your existing code and code bases easily, consume from or publish to any existing message queue, logging or performance metrics system you have installed.
Simple examples using common input and output classes will be demonstrated using the framework, as will easily adding your own custom filters. A number of common messaging middleware patterns will be shown to be trivial to implement.
Some higher level use-cases will also be explored, demonstrating log indexing in ElasticSearch and how to build a responsive platform API using webhooks.
Interoperability is also an important goal for messaging middleware. The logstash.net project will be highlighted and we'll discuss crossing the single language barrier, allowing us to have full integration between java, ruby and perl components, and to easily write bindings into libraries we want to reuse in any of those languages.
Stored procedures are blocks of SQL code that can be stored on a database server for repeated execution. They allow for encapsulation of repetitive tasks, improved security, and better performance compared to executing SQL statements directly from a client application. Key features of stored procedures include portability, reusability, and the ability to accept parameters and return values. Common SQL statements like SELECT, INSERT, UPDATE and DELETE can be used within a stored procedure. Functions are similar but can only return a single value and have additional limitations compared to procedures.
This document discusses several features that Alibaba is developing or contributing to MariaDB, including:
1. Time Machine/Flashback, which allows rolling databases back to snapshots by reversing DML operations in binary logs.
2. Double Sync Replication, which combines asynchronous and semi-synchronous replication to ensure the slave always knows the master's status.
3. Multi-source replication, which allows a single slave to replicate from multiple masters to support data sharding and backups across instances.
4. Thread Memory Monitor, which tracks memory usage by thread to identify which queries are using the most memory when the mysqld process exceeds limits.
Pipiot - the double-architecture shellcode constructorMoshe Zioni
The document describes a method called PIPIOT for creating a polyglot shellcode that works on both x86 and ARM architectures. PIPIOT stands for "Double-Edged" in old Hebrew. It works by finding a "Magic Block" sequence of bytes that functions as a no-op-like instruction on one architecture and a relative jump on the other. The document outlines the step-by-step process for deriving such a Magic Block, focusing on constraints from both x86 and ARM instruction sets. It results in a 4-byte Magic Block that performs an XOR on an ARM register to create a reversible operation, and a short relative jump on x86. This Magic Block can be repeated to combine x
Austin TX - Introduction to Reverse Engineering course - slides include x86 architecture, registers, assembly. Virtual memory layout of a process, code and data structures.
The document discusses assembly language programming and tools used in the assembly language development process. It provides information on assembly language instructions like LOOP, HLT, WAIT, ESC, and NOP. It also discusses assembler directives such as ASSUME, DB, DW, DD, DQ, DT, END, ENDP, ENDM, ENDS, EQU, EVEN, INCLUDE, MACRO and their usage. Additionally, it covers machine language, assembly language, high-level languages and advantages/disadvantages of each. Finally, it lists common assembly language development tools like editors, assemblers, linkers, locators, loaders and debuggers.
QEMU is an emulator that uses dynamic translation to emulate one instruction set architecture (ISA) on another host ISA. It translates guest instructions to an intermediate representation (TCG IR) code, and then compiles the IR code to native host instructions. QEMU employs techniques like translation block caching and chaining to improve the performance of dynamic translation. It also uses helper functions to offload complex operations during translation to improve efficiency.
Using JavaScript ES2015 (ES6), ES2016, ES2017 in productionAnže Žnidaršič
This document summarizes the history and new features of JavaScript ES2015 and later versions. It discusses features added in ES2015 like block scope variables, arrow functions, classes, string literals and modules. It also covers browser support for ES2015 and tools like Babel that can transpile newer JavaScript to older versions. The document provides an overview of their development workflow using technologies like Gulp, Babel, Ansible and Livereload. It briefly mentions new features in ES2016 like exponentiation operator and Array.includes and async functions in ES2017.
Nesta segunda parte do tema Redshift, mostramos o case da Movile, líder em mobile commerce com 50 milhões de usuários, e analisamos tópicos avançados como compressão, macros SQL embutidas e índices multidimensionais para grandes bases de dados.
This document summarizes Tomas Doran's talk about his new Message::Passing Perl library for messaging, interoperability, and log aggregation. The library provides a framework for passing messages between different messaging systems and protocols. It uses a simple model where inputs produce events as hashes, outputs consume events, and filters can both produce and consume events. The core distribution includes roles for common inputs, outputs, and filters. Adaptors in separate modules provide connectivity to protocols like ZeroMQ, AMQP, STOMP, Elasticsearch, Redis PubSub, Syslog, MongoDB, and others. The goal is to simplify building complex message processing chains across different systems. Examples are provided to illustrate passing messages between protocols.
Most mid-sized Django websites thrive by relying on memcached. Though what happens when basic memcached is not enough? And how can one identify when the caching architecture is becoming a bottleneck? We'll cover the problems we've encountered and solutions we've put in place.
The document discusses subroutines and control abstraction in programming languages. It reviews stack layout and how routines are allocated stack frames. It covers calling sequences and responsibilities of callers and callees. It discusses parameter passing mechanisms like value, reference, and closures. It also covers topics like generic subroutines and modules, exception handling, and coroutines.
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...kalichargn70th171
In today's fiercely competitive mobile app market, the role of the QA team is pivotal for continuous improvement and sustained success. Effective testing strategies are essential to navigate the challenges confidently and precisely. Ensuring the perfection of mobile apps before they reach end-users requires thoughtful decisions in the testing plan.
Malibou Pitch Deck For Its €3M Seed Roundsjcobrien
French start-up Malibou raised a €3 million Seed Round to develop its payroll and human resources
management platform for VSEs and SMEs. The financing round was led by investors Breega, Y Combinator, and FCVC.
14 th Edition of International conference on computer visionShulagnaSarkar2
About the event
14th Edition of International conference on computer vision
Computer conferences organized by ScienceFather group. ScienceFather takes the privilege to invite speakers participants students delegates and exhibitors from across the globe to its International Conference on computer conferences to be held in the Various Beautiful cites of the world. computer conferences are a discussion of common Inventions-related issues and additionally trade information share proof thoughts and insight into advanced developments in the science inventions service system. New technology may create many materials and devices with a vast range of applications such as in Science medicine electronics biomaterials energy production and consumer products.
Nomination are Open!! Don't Miss it
Visit: computer.scifat.com
Award Nomination: https://x-i.me/ishnom
Conference Submission: https://x-i.me/anicon
For Enquiry: Computer@scifat.com
Messaging, interoperability and log aggregation - a new frameworkTomas Doran
In this talk, I will talk about why log files are horrible, logging log lines, and more structured performance metrics from large scale production applications as well as building reliable, scaleable and flexible large scale software systems in multiple languages.
Why (almost) all log formats are horrible will be explained, and why JSON is a good solution for logging will be discussed, along with a number of message queuing, middleware and network transport technologies, including STOMP, AMQP and ZeroMQ.
The Message::Passing framework will be introduced, along with the logstash.net project which the perl code is interoperable with. These are pluggable frameworks in ruby/java/jruby and perl with pre-written sets of inputs, filters and outputs for many many different systems, message formats and transports.
They were initially designed to be aggregators and filters of data for logging. However they are flexible enough to be used as part of your messaging middleware, or even as a replacement for centralised message queuing systems.
You can have your cake and eat it too - an architecture which is flexible, extensible, scaleable and distributed. Build discrete, loosely coupled components which just pass messages to each other easily.
Integrate and interoperate with your existing code and code bases easily, consume from or publish to any existing message queue, logging or performance metrics system you have installed.
Simple examples using common input and output classes will be demonstrated using the framework, as will easily adding your own custom filters. A number of common messaging middleware patterns will be shown to be trivial to implement.
Some higher level use-cases will also be explored, demonstrating log indexing in ElasticSearch and how to build a responsive platform API using webhooks.
Interoperability is also an important goal for messaging middleware. The logstash.net project will be highlighted and we'll discuss crossing the single language barrier, allowing us to have full integration between java, ruby and perl components, and to easily write bindings into libraries we want to reuse in any of those languages.
Stored procedures are blocks of SQL code that can be stored on a database server for repeated execution. They allow for encapsulation of repetitive tasks, improved security, and better performance compared to executing SQL statements directly from a client application. Key features of stored procedures include portability, reusability, and the ability to accept parameters and return values. Common SQL statements like SELECT, INSERT, UPDATE and DELETE can be used within a stored procedure. Functions are similar but can only return a single value and have additional limitations compared to procedures.
This document discusses several features that Alibaba is developing or contributing to MariaDB, including:
1. Time Machine/Flashback, which allows rolling databases back to snapshots by reversing DML operations in binary logs.
2. Double Sync Replication, which combines asynchronous and semi-synchronous replication to ensure the slave always knows the master's status.
3. Multi-source replication, which allows a single slave to replicate from multiple masters to support data sharding and backups across instances.
4. Thread Memory Monitor, which tracks memory usage by thread to identify which queries are using the most memory when the mysqld process exceeds limits.
Pipiot - the double-architecture shellcode constructorMoshe Zioni
The document describes a method called PIPIOT for creating a polyglot shellcode that works on both x86 and ARM architectures. PIPIOT stands for "Double-Edged" in old Hebrew. It works by finding a "Magic Block" sequence of bytes that functions as a no-op-like instruction on one architecture and a relative jump on the other. The document outlines the step-by-step process for deriving such a Magic Block, focusing on constraints from both x86 and ARM instruction sets. It results in a 4-byte Magic Block that performs an XOR on an ARM register to create a reversible operation, and a short relative jump on x86. This Magic Block can be repeated to combine x
Austin TX - Introduction to Reverse Engineering course - slides include x86 architecture, registers, assembly. Virtual memory layout of a process, code and data structures.
The document discusses assembly language programming and tools used in the assembly language development process. It provides information on assembly language instructions like LOOP, HLT, WAIT, ESC, and NOP. It also discusses assembler directives such as ASSUME, DB, DW, DD, DQ, DT, END, ENDP, ENDM, ENDS, EQU, EVEN, INCLUDE, MACRO and their usage. Additionally, it covers machine language, assembly language, high-level languages and advantages/disadvantages of each. Finally, it lists common assembly language development tools like editors, assemblers, linkers, locators, loaders and debuggers.
QEMU is an emulator that uses dynamic translation to emulate one instruction set architecture (ISA) on another host ISA. It translates guest instructions to an intermediate representation (TCG IR) code, and then compiles the IR code to native host instructions. QEMU employs techniques like translation block caching and chaining to improve the performance of dynamic translation. It also uses helper functions to offload complex operations during translation to improve efficiency.
Using JavaScript ES2015 (ES6), ES2016, ES2017 in productionAnže Žnidaršič
This document summarizes the history and new features of JavaScript ES2015 and later versions. It discusses features added in ES2015 like block scope variables, arrow functions, classes, string literals and modules. It also covers browser support for ES2015 and tools like Babel that can transpile newer JavaScript to older versions. The document provides an overview of their development workflow using technologies like Gulp, Babel, Ansible and Livereload. It briefly mentions new features in ES2016 like exponentiation operator and Array.includes and async functions in ES2017.
Nesta segunda parte do tema Redshift, mostramos o case da Movile, líder em mobile commerce com 50 milhões de usuários, e analisamos tópicos avançados como compressão, macros SQL embutidas e índices multidimensionais para grandes bases de dados.
This document summarizes Tomas Doran's talk about his new Message::Passing Perl library for messaging, interoperability, and log aggregation. The library provides a framework for passing messages between different messaging systems and protocols. It uses a simple model where inputs produce events as hashes, outputs consume events, and filters can both produce and consume events. The core distribution includes roles for common inputs, outputs, and filters. Adaptors in separate modules provide connectivity to protocols like ZeroMQ, AMQP, STOMP, Elasticsearch, Redis PubSub, Syslog, MongoDB, and others. The goal is to simplify building complex message processing chains across different systems. Examples are provided to illustrate passing messages between protocols.
Most mid-sized Django websites thrive by relying on memcached. Though what happens when basic memcached is not enough? And how can one identify when the caching architecture is becoming a bottleneck? We'll cover the problems we've encountered and solutions we've put in place.
The document discusses subroutines and control abstraction in programming languages. It reviews stack layout and how routines are allocated stack frames. It covers calling sequences and responsibilities of callers and callees. It discusses parameter passing mechanisms like value, reference, and closures. It also covers topics like generic subroutines and modules, exception handling, and coroutines.
Similar to Assembly Language Tutorials for Windows - 04 Data Transfers Part-1 (14)
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...kalichargn70th171
In today's fiercely competitive mobile app market, the role of the QA team is pivotal for continuous improvement and sustained success. Effective testing strategies are essential to navigate the challenges confidently and precisely. Ensuring the perfection of mobile apps before they reach end-users requires thoughtful decisions in the testing plan.
Malibou Pitch Deck For Its €3M Seed Roundsjcobrien
French start-up Malibou raised a €3 million Seed Round to develop its payroll and human resources
management platform for VSEs and SMEs. The financing round was led by investors Breega, Y Combinator, and FCVC.
14 th Edition of International conference on computer visionShulagnaSarkar2
About the event
14th Edition of International conference on computer vision
Computer conferences organized by ScienceFather group. ScienceFather takes the privilege to invite speakers participants students delegates and exhibitors from across the globe to its International Conference on computer conferences to be held in the Various Beautiful cites of the world. computer conferences are a discussion of common Inventions-related issues and additionally trade information share proof thoughts and insight into advanced developments in the science inventions service system. New technology may create many materials and devices with a vast range of applications such as in Science medicine electronics biomaterials energy production and consumer products.
Nomination are Open!! Don't Miss it
Visit: computer.scifat.com
Award Nomination: https://x-i.me/ishnom
Conference Submission: https://x-i.me/anicon
For Enquiry: Computer@scifat.com
Using Query Store in Azure PostgreSQL to Understand Query PerformanceGrant Fritchey
Microsoft has added an excellent new extension in PostgreSQL on their Azure Platform. This session, presented at Posette 2024, covers what Query Store is and the types of information you can get out of it.
8 Best Automated Android App Testing Tool and Framework in 2024.pdfkalichargn70th171
Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...XfilesPro
Wondering how X-Sign gained popularity in a quick time span? This eSign functionality of XfilesPro DocuPrime has many advancements to offer for Salesforce users. Explore them now!
Flutter is a popular open source, cross-platform framework developed by Google. In this webinar we'll explore Flutter and its architecture, delve into the Flutter Embedder and Flutter’s Dart language, discover how to leverage Flutter for embedded device development, learn about Automotive Grade Linux (AGL) and its consortium and understand the rationale behind AGL's choice of Flutter for next-gen IVI systems. Don’t miss this opportunity to discover whether Flutter is right for your project.
How Can Hiring A Mobile App Development Company Help Your Business Grow?ToXSL Technologies
ToXSL Technologies is an award-winning Mobile App Development Company in Dubai that helps businesses reshape their digital possibilities with custom app services. As a top app development company in Dubai, we offer highly engaging iOS & Android app solutions. https://rb.gy/necdnt
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid
IBM watsonx Code Assistant for Z, our latest Generative AI-assisted mainframe application modernization solution. Mainframe (IBM Z) application modernization is a topic that every mainframe client is addressing to various degrees today, driven largely from digital transformation. With generative AI comes the opportunity to reimagine the mainframe application modernization experience. Infusing generative AI will enable speed and trust, help de-risk, and lower total costs associated with heavy-lifting application modernization initiatives. This document provides an overview of the IBM watsonx Code Assistant for Z which uses the power of generative AI to make it easier for developers to selectively modernize COBOL business services while maintaining mainframe qualities of service.
Consistent toolbox talks are critical for maintaining workplace safety, as they provide regular opportunities to address specific hazards and reinforce safe practices.
These brief, focused sessions ensure that safety is a continual conversation rather than a one-time event, which helps keep safety protocols fresh in employees' minds. Studies have shown that shorter, more frequent training sessions are more effective for retention and behavior change compared to longer, infrequent sessions.
Engaging workers regularly, toolbox talks promote a culture of safety, empower employees to voice concerns, and ultimately reduce the likelihood of accidents and injuries on site.
The traditional method of conducting safety talks with paper documents and lengthy meetings is not only time-consuming but also less effective. Manual tracking of attendance and compliance is prone to errors and inconsistencies, leading to gaps in safety communication and potential non-compliance with OSHA regulations. Switching to a digital solution like Safelyio offers significant advantages.
Safelyio automates the delivery and documentation of safety talks, ensuring consistency and accessibility. The microlearning approach breaks down complex safety protocols into manageable, bite-sized pieces, making it easier for employees to absorb and retain information.
This method minimizes disruptions to work schedules, eliminates the hassle of paperwork, and ensures that all safety communications are tracked and recorded accurately. Ultimately, using a digital platform like Safelyio enhances engagement, compliance, and overall safety performance on site. https://safelyio.com/
4. MOVZX AND MOVSX INSTRUCTION
• USE THEM WHEN COPYING FROM SMALLER SOURCE TO LARGE DESTINATIONS
• num1 byte 8 //8-bit src
• num2 byte -8 //8-bit src
• eax //32-bit dest
• mov eax, num1 //don’t do this, the register gets filled with incorrect
• movzx eax, num1 //copies a un-signed byte into 16-bit destination
• movsx eax, num2 //copies a signed byte into a 16-bit destination
5. LAHF AND SAHF INSTRUCTION
LAHF //LOAD LOW-BYTE OF EFLAGS/RFLAGS (SIGN, ZERO, AUXILIARY, PARITY, CARRY) INTO AH REGISTER, AH IS THE HIGH-BYTE OF EAX
SAHF //LOAD AH INTO LOW-BYTE OF EFLAGS/RFLAGS
WHY BOTHER?
SUPPOSE WE WANT TO DO SOMETHING, LOOKING AT EFLAGS FOR 2 INSTRUCTIONS, BUT THIS EFLAGS KEEP CHANGING INSTRUCTION AFTER
INSTRUCTION, WE NEED A WAY TO KEEP A TRACK OF THESE CHANGING EFLAGS.
EXECUTE INSTRUCTION #1 //ELFAGS CHANGED
SAVE EFLAGS INTO AH, STORE AH INTO NUM1
EXECUTE INSTRUCTION #2 //EFLAGS CHANGED
SAVE ELFAGS INTO AH, STORE AH INTO NUM2
IF NUM1 = NUM2
EXECUTE INSTRUCTION #3 // HOPE YOU GOT THE POINT, WHY USE LAHF AND SAHF INSTRUCTIONS?
6. XCHG INSTRUCTION
• ITS LIKE MOV BUT SWAPS THE VALUES
• XCHG REGISTER, REGISTER //MOV EAX, EBX
• XCHG MEMORY, REGISTER //MOV NUM1, EAX
• XCHG REGISTER, MEMORY //MOV EAX, NUM1
• XCHG MEMORY, VALUE //DOESN’T WORK
• XCHG REGISTER, VALUE //DOESN’T WORK
7. EFFECTIVE ADDRESSING
• ACCESSING ELEMENTS IN AN ARRY //CONTIGUOUS MEMORY LOCATIONSDF
• MYARRAY DWORD 10, 20, 30
• MOV EAX, MYARRAY //GET 10
• MOV EAX, MYARRAY+1 //GET 20
• MOV EAX, [MYARRAY+1] //GET 20, USE THIS FOR CODE CLARITY WHILE USING ARRAY